同学,誉唯神给你一段代码,里面涵盖了链表的冒泡排序!#include#includetypedef 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;}希望对你有帮助,如果有问题可以继续找我!