中国十大名贵兰花:c++程序问题

来源:百度文库 编辑:中科新闻网 时间:2024/04/23 20:12:59
for(int i=0,j=0;i<=NL_length-2;i++)
{
p=head;q=head->next;
for(;j<=NL_length-i-2;j++)
{
if(p->zhishu<q->zhishu)
{
Temp=p->xishu;
p->xishu=q->xishu;
q->xishu=Temp;

Temp=p->zhishu;
p->zhishu=q->zhishu;
p->zhishu=Temp;
}
p=p->next;q=q->next;
}
j=0;
}
已有长度为NL_lenth的链表,每个链节含有zhishu和xishu两个值,我想将链节按指数降序排列,用的是冒泡(通过移动数值实现交换而不改变指针),但是不能实现排序,序列是改变了,但很乱,不是指数降序。谢谢
size?我没定义四则啊

这样写的话难免出错。在第一重循环里面,第一次定义p=head是对的,但到了第二次时,还是从head就不对了,head应该指向第二个值。这样在里面完成循环后,head++;或者head=head->next;应该就可以了吧。

你定义的size=102错了,应该是101。