标题:有关链表插入排序的问题!望大家指教!
取消只看楼主
lickui
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-3-11
 问题点数:0 回复次数:0 
有关链表插入排序的问题!望大家指教!
我采用的是直接插入的方法对链表进行排序.
代码如下:请大家瞅瞅为什么不能运行呢!
struct student *sort(struct student *head) /*The Function Of Sort*/
{
struct student *p,*q,*head1; /*Define Temporary Pointer*/
int i=0; /*Create Order*/
head1=head->next;
head->next=NULL;
while (head1!=NULL)
{
p=head;
q=head;
while(p!=NULL&&head1->sum<p->sum)/*查找合适的插入位置*/
{
q=p;
p=p->next;
}
if(p==q)/*插在头结点之前*/
{
head1->next=head;
head=head1;
}
else/*插在连表中间位置*/
{
head1->next=p;
q->next=head1;
}
head1=head1->next;
}
p=head;
while (p!=NULL)/*给order赋值*/
{
i++;
p->order=i;
p=p->next;
}
return head;
}

[此贴子已经被作者于2006-3-11 21:59:00编辑过]

搜索更多相关主题的帖子: 链表 head student next NULL 
2006-03-11 21:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-49852-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018139 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved