#include<iostream> #include<cstdio> #include <malloc.h> using namespace std; typedef struct node{ int data; struct node *next; }linklist; linklist* init() { linklist* head; head=(linklist*)malloc(sizeof(linklist)); head->next=NULL; return head; } void sort(linklist* head) { linklist *p1,*p2; for(p1=head;p1!=NULL;p1=p1->next) for(p2=p1->next;p2!=NULL;p2=p2->next) { if(p1->data>p2->data) { int temp=p1->data; p1->data=p2->data; p2->data=temp; } } } void add(linklist *head,int x) { linklist *p,*q=head; p=(linklist*)malloc(sizeof(linklist)); p->data=x; p->next=NULL; while(q->next) q=q->next; q->next=p; } void show(linklist *head) { linklist *p=head; cout<<"升序排序之后:"<<endl; while(p->next) { cout<<p->data<<" "; p=p->next; } } int main() { int n,x; linklist *p; p=init(); cout<<"输入元素个数:"<<endl; cin>>n; cout<<"输入元素:"<<endl; for(int i=0;i<n;i++) { cin>>x; add(p,x); } sort(p); show(p); return 0; }