知识库 电脑网络 商业经济 健康医疗 节能信息网 知识库全站文章索引
推荐: 使你上网远离木马程序、偷号软件
现在的位置: 首页 >> 电脑网络 >> 编程 >> 文章正文
链表排序问题,急急急……
【字体: 
链表排序问题,急急急……


#include <iostream.h>

struct point
{
int data;
point *next;
} *head,*p,*q;

void main()
{
int n;
cin>>n;
if (n==0)
return;
head=new point;
cin>>head->data; //初始A类结点
head->next=NULL;
for (;n>1;n--) //读入后继B类结点并依次放入A中
{
p=new point;
cin>>p->data;
if (p->data<head->data) //如果比头结点小 则让它作为新的头结点
{
p->next=head;
head=p;
}
else
{
q=head;
while (q->next!=NULL&&p->data>q->next->data) //否则 找到它的位置:此时q比p小 但q的下一个结点比p大
q=q->next;
p->next=q->next; //将p插入链表中
q->next=p;
}
}
p=head; //输出
while (p!=NULL)
{
cout<<p->data<<' ';
p=p->next;
}
cout<<endl;
}

编程相关文章推荐
编程重要提示
编程特别推荐
编程论坛新帖
电脑网络 硬件 软件 互联网 操作系统 电脑常识 多媒体 反病毒 编程 手机 共享资源 
1、本文仅代表作者个人观点,与本网站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作出任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2、本文来源于网络,所有权归原所有者所有,本站为非赢利网站,发布本文之目的在于传播更多信息,并不意味着本网站赞同或者否定本文部分以及全部观点或内容。如对本文内容有疑义、有任何问题,请及时与我们联系。email: ycsos.cn%gmail.com(%改为@)
友情链接:百度 GOOGLE 知识 节能信息网 设为首页 加入收藏 Copyright© 2005-2006 Ycsos.Cn Inc. 备案审批中…