中易网

c语言链表中下面的图片中第10行的suc=head->next是第一个结点的地址还是第二的结点的首地址

答案:4  悬赏:30  
解决时间 2021-01-15 15:35
  • 提问者网友:谁的错
  • 2021-01-14 21:02
c语言链表中下面的图片中第10行的suc=head->next是第一个结点的地址还是第二的结点的首地址
最佳答案
  • 二级知识专家网友:一秋
  • 2021-01-14 21:11
1、pre指向头节点,suc指向下一个节点(即最开始时指向第二个节点)
此后pre和suc一起向后遍历链表
当发现新节点newp值大于suc指向节点时就将newp插入suc和pre之间
如果遍历完整个链表仍然没有插入newp,就说明newp比链表中任何值都大
此时将newp插入到链表尾部
insertup创建的链表将是升序的

2、while(suc==NULL)应该改为while(suc!=NULL)
如果是当(suc==NULL)时执行循环,那么循环体中的if(suc->num....)就完全没有意义了,指向NULL的suc又怎么会有num呢?
全部回答
  • 1楼网友:低音帝王
  • 2021-01-15 01:19
第一个结点的地址
  • 2楼网友:天凉才是好个秋
  • 2021-01-14 23:45
第二个节点的首地址
  • 3楼网友:第四晚心情
  • 2021-01-14 22:13
#包括中
#包括是否
#包括
typedef结构节点/ /定义节点
{
值;
结构节点*下;
}注意;
注*头= NULL;
无效德尔(注意**头,诠释K表)/ /删除链表
{注* PP
注* PT
注* PQ;
PP = *头;
( (头) - >值== K)/ /如果头节点等于k,除去头节点
{
*头(头) - >下一步;
回报;
}
同时(PP->值= K)
{
PT = PP;
PQ = PP->下;
PP = PQ
}
PT-> = PP->下;/ /删除节点
}
无效插入(注**头,INT q) / /创建一个链表/> {注意* PP;
注* PT
注* P =(注*)malloc的大小(附注);
> P->值= Q;
P-> = NULL;
PP = *头;
(*头== NULL)
{
*的头= P;
回报;
}
同时(PP->下!= NULL)
{
PT = PP->下;
PP = PT
}
PP->明年= P;
}
无效打印(注意*头)/ /打印链表
{ BR />注* PP
(head! = NULL)
{
的printf(“%d的”头>值);
PP =头>下一页
头= PP;
}
}
的main()
{
INT I;
整数N,K,价值; ,
scanf函数(“%D”,&N&K);
就(i = 0,I {
scanf函数(“为%d“,&值);
插入(头,值); / /的地址传递的头部和过去
}
德尔(头,K表)
打印(头);
的getch();/ /免费按一个按钮来退出界面
返回0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息