您的位置:首页 > 其它

有序链表的建立(用冒泡排序对连表排序)

2013-08-17 15:37 274 查看

数据结构实验之链表六:有序链表的建立

Time Limit: 1000MS Memory limit: 65536K

题目描述

输入N个无序的整数,建立一个有序链表,链表中的结点按照数值非降序排列,输出该有序链表。

输入

第一行输入整数个数N;
第二行输入N个无序的整数。

输出

依次输出有序链表的结点值。

示例输入

6
33 6 22 9 44 5


示例输出

5 6 9 22 33 44


提示

不得使用数组!

#include<stdio.h>
#include<stdlib.h>
struct vode
{
int date;
struct vode *next;
};
int main()
{
struct vode *head,*tail,*p,*q;
head=(struct vode *)malloc(sizeof(struct vode ));
head->next=NULL;
tail=head;
int n,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
p=(struct vode *)malloc(sizeof(struct vode ));
p->next=NULL;
scanf("%d",&p->date);
tail->next=p;
tail=p;
}
int k=0;
while(k=!k)
{
p=head->next;
q=p->next;
while(q)
{
if(p->date>q->date)
{
int t;
t=p->date;
p->date=q->date;
q->date=t;
k=0;
}
else
{
p=p->next;
q=q->next;
}
}
}
p=head->next;
int s=0;
while(p)
{
if(s==0)
{
printf("%d",p->date);
s=1;
}
else printf(" %d",p->date);
p=p->next;
}
return 0;
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: