#include <stdio.h>
#include <stdlib.h>
typedef struct Lnode
{
int data;
struct Lnode* next;
}Lnode;
void printList(Lnode* head)
{
Lnode* p=head->next;
while(p)
{
printf("%d ",p->data);
p=p->next;
}
}
void Sort_LinkedList(Lnode* head)
{
Lnode* p=head->next->next;
head->next->next=NULL;
while(p!=NULL)
{
Lnode* temp=(Lnode*)malloc(sizeof(Lnode));
temp->data=p->data;
temp->next=NULL;
Lnode* q1=head;
Lnode* q2=head->next;
while(q2!=NULL)
{
if(q2->data<=temp->data)
{
q1=q1->next;
q2=q2->next;
}
else
{
temp->next=q1->next;
q1->next=temp;
break;
}
}
if(q2==NULL)
{
q1->next=temp;
}
p=p->next;
}
}`在这里插入代码片`
int main()
{
int n;
scanf("%d",&n);
Lnode* list=(Lnode*)malloc(sizeof(Lnode));
Lnode* head;
Lnode* rear;
head=list;
rear=list;
while(n--)
{
int num;
scanf("%d",&num);
Lnode* node=(Lnode*)malloc(sizeof(Lnode));
node->data=num;
node->next=NULL;
rear->next=node;
rear=node;
}
Sort_LinkedList(list);
printList(list);
return 0;
}