永发信息网

c语言中怎么用链表选择排序????

答案:1  悬赏:20  手机版
解决时间 2021-02-14 19:38
c语言中怎么用链表选择排序????
最佳答案
#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
int data;
struct node *next;
}*Linklist,Node;

Linklist creat(int n)
{
Linklist head,r,p;
int x,i;
head=(Node*)malloc(sizeof(Node));
r=head;
printf("输入数字:\n");
for(i=n;i>0;i--)
{
scanf("%d",&x);
p=(Node*)malloc(sizeof(Node));
p->data=x;
r->next=p;
r=p;
}
r->next=NULL;
return head;
}

void output(Linklist head)
{
Linklist p;
p=head->next;
do
{
printf("%8d",p->data);
p=p->next;
}while(p);
printf("\n");
}

void paixu(Linklist head)
{
Linklist p,q,small;
int temp;
for(p=head->next;p->next!=NULL;p=p->next)
{
small=p;
for(q=p->next;q;q=q->next)
if(q->data<small->data)
small=q;
if(small!=p)
{
temp=p->data;
p->data=small->data;
small->data=temp;
}
}
printf("输出排序后的数字:\n");
output(head);
}

void main()
{
Linklist head;
int n;
printf("输入数字的个数(n):\n");
scanf("%d",&n);
head=creat(n);
printf("输出数字:\n");
output(head);
paixu(head);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
人死了之后灵魂会不会寄托到另一个人身上从而
VF编程计算10到100之间的所有8的倍数之和
海滨路/滨北路(路口)我想知道这个在什么地方
程寨村这个地址在什么地方,我要处理点事
鸽子粪做枕头有什么好处?
想做理财师 大学学考什么证
oppor7手机进水了但之后什么问题都没出现怎么
61-()=69-()括号中间填相同的数
腾讯热血传奇手机版为什么有的玩家的名字是蓝
提交中国证监会的法律意见书和律师工作报告应
中国移动通信长沙手机大卖场在哪里啊,我有事
滴滴优步司机请到车主之家门店怎么联系?在哪
消防水泵出水管的直径大于DN250时,其流速宜
中国移动手机连锁卖场少直店地址在什么地方,
酷派大神note3游览网页怎么老出广告
推荐资讯
瓷砖掉了,不用水泥,能用什么东西粘好
在云南昆明买的翡翠帮我看一下值多少钱
小精灵益智幼儿园怎么去啊,我要去那办事
清江大厦A栋地址在哪,我要去那里办事
龙丰农产品物流加工园地址在哪,我要去那里办
为什么铁路边上的柱子是空心的
秀兰帽业地址在什么地方,我要处理点事
某细菌能产生一条“毒性肽”,其分子式是C55H
歌曲《小燕子》作于1957年,是电影《护士日记
找一部电影,尼古拉斯凯奇演的,电影最后他把
倮那村地址好找么,我有些事要过去
公司为了防止员工上网玩游戏在电脑里装了一个
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?