早教吧作业答案频道 -->其他-->
下列函数的功能是实现带头结点单链表按升值排序(填写空白处)voidsort(slink*11){slink*p,*q,*r,*s;p=11;while(p->next!=NULL){q=p->next;r=p;while(){if(q->next->datanext->data)r=q;;}if()
题目详情
下列函数的功能是实现带头结点单链表按升值排序(填写空白处)
void sort(slink *11)
{slink *p,*q,*r,*s;
p=11;
while(p->next!=NULL)
{q=p->next;
r=p;
while(____________)
{if (q->next->datanext->data)
r=q;
_____________;
}
if(_____________)
{s=r->next;
r->next=s->next;
s->next=p->next;
p->next=s;
}
_____________;
}
}
void sort(slink *11)
{slink *p,*q,*r,*s;
p=11;
while(p->next!=NULL)
{q=p->next;
r=p;
while(____________)
{if (q->next->datanext->data)
r=q;
_____________;
}
if(_____________)
{s=r->next;
r->next=s->next;
s->next=p->next;
p->next=s;
}
_____________;
}
}
▼优质解答
答案和解析
1、要排序肯定要遍历列表,while(p->next!=NULL).所以
最后一句是循环语句:p=p->next;
2、 if(_____________)
{s=r->next;
r->next=s->next;
s->next=p->next;
p->next=s;
} 语句里面是交换节点s和p,题目要升序所以语句应该是判断节点s的值大于p即:
r->next->data > p->data
3、整个函数是对当前结点p,遍历结点后所有点早到后面所有点中最大的一个节点,然后和p比较
所以第一句是 q->next!=NULL
第二句是 q= q->next
最后一句是循环语句:p=p->next;
2、 if(_____________)
{s=r->next;
r->next=s->next;
s->next=p->next;
p->next=s;
} 语句里面是交换节点s和p,题目要升序所以语句应该是判断节点s的值大于p即:
r->next->data > p->data
3、整个函数是对当前结点p,遍历结点后所有点早到后面所有点中最大的一个节点,然后和p比较
所以第一句是 q->next!=NULL
第二句是 q= q->next
看了 下列函数的功能是实现带头结点...的网友还看了以下:
亲们有什么英语词典程序带有音标的,推荐一个我下载,现在急需用有音标的词典 2020-05-14 …
拍四个英文时间单词顺序 First、 Next、Then Finally 她们的顺序应该怎样? 2020-05-16 …
恒星在主序带上时核心进行的核反应产生什么元素 2020-06-09 …
求化学元素周期表1至20的名称代号,要按顺序,带上拼音,有的我不认识 2020-06-09 …
为什么当恒星不是主序星的时候会离开主序带是什么力量让他离开的,他又为什么要离开 2020-07-10 …
求下滕王阁序(带拼音)及其译文.要带译文的,不带的话就算了! 2020-07-15 …
主星序和主序带是什么样的关系?赫罗图上的左上到右下的对角线叫主星序,主星序上的恒星称为主序星,那个 2020-08-02 …
108位梁山好汉(带绰号)水浒传中的108位梁山好汉按顺序带着绰号 2020-11-04 …
我是新手,求教托福!我使用红宝45天得乱序,还有一本正序带词汇出现频率的书.1、需要把上面的单词全部 2020-12-05 …
一个英语句子有个语法规则:定冠词用在序数词前,也用在表示序列的next,last等前,还有在表示“同 2021-01-14 …