http://zhidao.baidu.com/question/396662388.html#include <iostream> #include <ctime> #define ERROR 0; typedef int ElemType; typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList; //建立链表L2,顺序插入 //输入:1,2,3,4。输出1,2,3,4 void CreateList_L2(LinkList &L,int n) { int i; L=(LinkList)malloc(sizeof(LNode)); L->data=n; L->next=NULL; LinkList p,q; //q=(LinkList)malloc(sizeof(LNode)); q=L; for(i=n;i>0;i--) { p=(LinkList)malloc(sizeof(LNode)); scanf("%d",&p->data); q->next=p; p->next=NULL; q=p; }//for }//CreateList_L2 //按顺序打印链表 void print(LinkList L) { LinkList p; p=L->next; while(p!=NULL) { printf("\t%d",p->data); p=p->next; }//while }//print //链表排序,非递减顺序排列 void Listsort_L(LinkList &L) { LinkList p,q; ElemType temp; for(p=L->next;p!=NULL;p=p->next) { for(q=p->next;q!=NULL;q=q->next) { if(p->data>q->data) { temp=p->data; p->data=q->data; q->data=temp; } } } } void main() { int n; LinkList L; printf("how many numbers you want to input in L:"); scanf("%d",&n); CreateList_L2(L,n); Listsort_L(L); printf("排序后的L是:"); print(L); }
单链表排序问题、简单易懂
最新推荐文章于 2023-02-20 09:29:31 发布