整理无序链表使之有序的函数?
有一单链表,链表节点内有整数域和指针域,而且节点排列是无序的,设计一个函数,整理单链表,使之节点内容有序递增排列,函数如下:#define NULL 0
typedef int ELEMTYPE;
typedef struct node{
ELEMTYPE data;
struct node *next;
}LNODE,*LINKLIST;
void plist(LINKLIST L)
{
LINKLIST p,q,s;
p=L;
q=p->next->next;
s=q->next;
p->next->next=NULL;
while(1) \\此循环遇到s==NULL时结束,目的是要插入最后一
{ \\节点,否则难于实现
while((p->next->data)<=(q->data)&&p->next!=NULL)
p=p->next; \\找到要插入的节点位置
q->next=p->next; \\开始尾插入节点
p->next=q;
p=L; \\指针返回头节点
if(s==NULL)break; \\判断是否还有剩余节点,无则结束循环
q=s; \\q,s重新指向下一节点
s=s->next;
}
return 0;
}
有无错误?
[此贴子已经被作者于2006-8-27 10:05:18编辑过]
----------------解决方案--------------------------------------------------------
LINKLIST is a pointer? see typedef
----------------解决方案--------------------------------------------------------
谢谢!
----------------解决方案--------------------------------------------------------
此算法能够实现吗?
----------------解决方案--------------------------------------------------------
大家仔细看看能不能实现?
----------------解决方案--------------------------------------------------------
LZ cong lai bu xie bang zhu guo ni de ren, shui hai kan a
----------------解决方案--------------------------------------------------------
好
[此贴子已经被作者于2006-8-27 20:07:24编辑过]
----------------解决方案--------------------------------------------------------
ou yuan yi
----------------解决方案--------------------------------------------------------
哎!
[此贴子已经被作者于2006-8-27 20:07:57编辑过]
----------------解决方案--------------------------------------------------------
:明天的太阳 的个人资料 | 当前位置:[整理无序链表使之有序的函数?] 状态:正常,[在线:9Mins] |
基本资料 | ||
---|---|---|
性 别: | 酷哥 | |
出 生: | ||
星 座: | ||
Email: | han2y@sina.com | |
腾讯QQ: | ||
ICQ: | ||
MSN: | ||
AIM: | ||
YAHOO: | ||
UC: | ||
主 页: |
----------------解决方案--------------------------------------------------------