早教吧作业答案频道 -->其他-->
下列函数的功能是实现带头结点单链表按升值排序(填写空白处)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
看了 下列函数的功能是实现带头结点...的网友还看了以下:
SOS找规律填数,按一定规律填出后两个数0-38-524急..我觉的是-748因为觉得都是比平方小 2020-05-13 …
设若内存单元DATA在数据段中偏移量为24C0H处,24C0H~24C3H单元中依次存放着55H、 2020-07-09 …
有位小朋友喜欢在方阵中填数字,规则是按下图示例从右上角开始,按斜线填数字,碰到边就重新换下一条斜线 2020-07-30 …
填数字(按规律填数)按规律填数:1/3、1/2、5/9、7/12、3/5、11/18……第十一个数是 2020-11-01 …
按规律填数.①100%、0.9、5分之4、0.7、()(填百分数)()(填分数)、()(填小数).② 2020-11-01 …
按要求填数.12345在上面这些数中:1、比2大的数有按要求填数.12345在上面这些数中:1、比2 2020-11-01 …
观察下面按顺序排列的每列数观察下面按次序排列的每一列数,按规律填出后面的2个数,观察下面按次序排列的 2020-12-05 …
在线求指导:按顺序填数.按顺序填数.8586373332 2020-12-05 …
这道题怎么做:按顺序填数.按顺序填数.0497 2020-12-05 …
按要求填成语。(1)填数字()劳永逸(&n...按要求填成语。(1)填数字()劳永逸()面三刀()言 2020-12-22 …