
#include<stdio.h>
#include<stdlib.h>
int n;
typedef struct Lnode
{
int data;
struct Lnode *next;
struct Lnode *bef;
}Lnode;
void creatlist(Lnode *&p)
{
Lnode *pr,*ps;
pr=p;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
ps = (Lnode*)malloc(sizeof(Lnode));
scanf("%d",&ps->data);
pr->next = ps;
ps->bef = pr;
pr = ps;
}
pr->next = NULL;
}
void actlist(Lnode *&p)
{
Lnode *pr,*ps;
pr = p->next;
// ps = (Lnode*)malloc(sizeof(Lnode));
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-1&&pr!=NULL;j++)
{
if(pr->data > pr->next->data)
{
pr->bef=pr->next;
pr->next->bef=pr->bef;
pr->bef->next = pr->next;
pr->next = pr->next->next;
}
}
}
}
void prilist(Lnode *p)
{
Lnode *pr;
pr = p->next;
for(;pr!=NULL;)
{
printf("%d ",pr->data);
pr = pr->next;
}
}
int main()
{
Lnode *p;
p = (Lnode*)malloc(sizeof(Lnode));
p->bef = NULL;
p->next = NULL;
creatlist(p);
actlist(p);
prilist(p);
return 0;
}