#include<stdio.h>
#include<stdlib.h>
#define NULL 0
typedef struct LNode
{
struct LNode *next;
int data;
}LNode,*lnode;
void createList(lnode &l,int n)
{
int i;
lnode p,q;
l=(lnode)malloc(sizeof(LNode));
p=l;
for(i=0;i<n;i++)
{
q=(lnode)malloc(sizeof(LNode));
scanf("%d",&q->data);
p->next=q;
p=q;
}
p->next=NULL;
}
void insertSortList(lnode &h)
{
lnode p,q,pre,r;
if(h->next!=NULL) //不为空链表
{
p=h->next->next;
h->next->next=NULL;
while(p)
{
pre=h;
q=h->next;
while(q!=NULL&&q->data<p->data)
{
pre=q;
q=q->next;
}
r=p;
p=p->next;
r->next=pre->next;
pre->next=r;
}
}
}
void print(lnode l)
{
lnode p;
p=l->next;
while(p)
{
printf("%d ",p->data);
p=p->next;
}
}
void main()
{
lnode l;
int n;
scanf("%d",&n);
createList(l,n);
insertSortList(l);
print(l);
printf("\n");
}
插入排序(链表)
最新推荐文章于 2022-03-14 12:18:49 发布