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

C語言如何對鏈表的數進行排序

劉柏宏2年前16瀏覽0評論

C語言如何對鏈表的數進行排序?

代碼示例:

#include<stdio.h>

#include<malloc.h>

typedef

struct

node

{

int

data;/*data代表成績分數*/

struct

node

*next;

}LNode,*LinkList;

LinkList

Creat(void)/*創建鏈表,結束標志為當輸入的數據為0!*/

{

LinkList

H,p1,p2;

int

n;

n=0;

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

printf("輸入數據:");

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)/*遞增排序函數:入口參數:鏈表的頭指針,此為鏈表中的排序函數*/

{

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("初始化的單鏈表數據序列為:\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;

}

java 排序sort,C語言如何對鏈表的數進行排序