SDUTOJ 2121 数据结构实验之链表六:有序链表的建立

来源:互联网 发布:nginx从入门到精通 pdf 编辑:程序博客网 时间:2024/06/06 20:11
#include<iostream>#include<stdlib.h>#define ERROR -1;#define OK 1;using namespace std;typedef int ElemType;typedef int Status;typedef struct LNode{ElemType data;struct LNode *next;}LNode ,*LinkList;void InitList(LinkList &L){L=new LNode;L->next=NULL;}void show(LinkList L){LinkList p;p=L->next;while(p){if(p->next==NULL)cout<<p->data<<endl;elsecout<<p->data<<" ";p=p->next;}}Status ListInsert(LinkList &L,int i,ElemType e){LinkList p=L;int j=0;while(p&&j<i-1){ p=p->next;++j;}if(!p||j>i-1) return ERROR;LinkList s;s=new LNode;s->data=e;s->next=p->next;p->next=s;return OK;}void qsort(LinkList &L){LinkList p=L->next;LinkList q;LinkList r;if(p!=NULL){r=p->next;p->next=NULL;p=r;while(p!=NULL){r=p->next;q=L;while(q->next!=NULL && q->next->data<=p->data){q=q->next;}p->next=q->next;q->next=p;p=r;}}}int main(){LinkList L;InitList(L);int n,i,x;cin>>n;for(i=1;i<=n;i++){cin>>x;ListInsert(L,i,x);}qsort(L);show(L);return 0;}

0 0
原创粉丝点击