欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

C語言如何對鏈表的數(shù)進(jìn)行排序?

錢良釵2年前14瀏覽0評論

代碼示例:

#include<stdio.h>

#include<malloc.h>

typedef

struct

node

{

int

data;/*data代表成績分?jǐn)?shù)*/

struct

node

*next;

}LNode,*LinkList;

LinkList

Creat(void)/*創(chuàng)建鏈表,結(jié)束標(biāo)志為當(dāng)輸入的數(shù)據(jù)為0!*/

{

LinkList

H,p1,p2;

int

n;

n=0;

p1=p2=(LinkList)malloc(sizeof(LNode));

printf("輸入數(shù)據(jù):");

scanf("%d",&p1->data);

H=NULL;

while(p1->data!=0)

{

n=n+1;

if(n==1)

H=p1;

else

p2->next=p1;

p2=p1;

p1=(LinkList)malloc(sizeof(LNode));

scanf("%d",&p1->data);

}

p2->next=NULL;

return(H);

}

LinkList

Sort(LinkList

SL)/*遞增排序函數(shù):入口參數(shù):鏈表的頭指針,此為鏈表中的排序函數(shù)*/

{

LinkList

p,q;

int

temp;

for(p=SL;p!=NULL;p=p->next)

{

for(q=p->next;q!=NULL;q=q->next)

{

if(p->data>q->data)

{

temp=q->data;

q->data=p->data;

p->data=temp;

}

}

}

return

SL;

}

int

main()

{

LinkList

L,S,K;

L=Creat();

printf("初始化的單鏈表數(shù)據(jù)序列為:\n");

for(S=L;S!=NULL;S=S->next)

printf("%d

",S->data);

Sort(L);

printf("\n按遞增順序排序后的序列為:\n");

for(K=L;K!=NULL;K=K->next)

printf("%d==>",K->data);

return

0;

}