首页 >

C语言如何对链表的数进行排序? – 网络|

蓝牙键盘太多 怎么连接,中文拼音域名怎么用,风扇怎么维修蓝牙键盘太多 怎么连接,中文拼音域名怎么用,风扇怎么维修C语言如何对链表的数进行排序? - 网络|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;

}


C语言如何对链表的数进行排序? - 网络|
  • 低代码开发有市场前景吗? - 网络|
  • 低代码开发有市场前景吗? - 网络| | 低代码开发有市场前景吗? - 网络| ...

    C语言如何对链表的数进行排序? - 网络|
  • c语言如何编写管理系统? - 网络|
  • c语言如何编写管理系统? - 网络| | c语言如何编写管理系统? - 网络| ...

    C语言如何对链表的数进行排序? - 网络|
  • 银行类的股票值得购买吗?为什么? - 网络|
  • 银行类的股票值得购买吗?为什么? - 网络| | 银行类的股票值得购买吗?为什么? - 网络| ...