#include<stdio.h>
#include<stdlib.h>
struct student
{
int num;
struct student *next;
};
typedef struct student STU;
int main()
{
STU *head;
STU *p,*q,*p1;
int n,i=0,min,j,middle;
scanf("%d",&n);
p=q=(STU *)malloc(sizeof(STU));
head=NULL;
while(i<=n)
{
i++;
if(i==1)
head=p;
else
q->next=p;
q=p;
 
if(i!=n+1)
{
scanf("%d",&p->num);
p=(STU *)malloc(sizeof(STU));
p->num=0;
}
 
}
q->next=NULL;
p1=head; //创建新的链表;
//采用的是交换里面的值,用的是很笨的冒泡排序;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(j!=0)
p1=p1->next; //为了将指针后移相当于a[j];
if(p1->num>p1->next->num)
{
middle=p1->num;
p1->num=p1->next->num;
p1->next->num=middle;
}
 
}
p1=head; //相当于又到了a[0];
}
p=head; //最后输出;
while(1)
{
printf("%d",p->num);
p=p->next;
if(p->next==NULL)
break;
else
printf(" ");
}
 
return 0;
}

发表评论

电子邮件地址不会被公开。

Post Navigation