题目描述
建立一个升序链表并遍历输出。
输入描述:
输入的每个案例中第一行包括1个整数:n(1<=n<=1000),接下来的一行包括n个整数。
输出描述:
可能有多组测试数据,对于每组数据, 将n个整数建立升序链表,之后遍历链表并输出。
示例1
输出
复制3 5 7 9
#include<iostream>
#include<algorithm>
using namespace std;
struct node
{
int x;
node* next;
};
node * list;
node* create(int a[],int n)
{
node*p,*pre,*head;
head=new node;
head->next=NULL;
pre=head;
for(int i=0;i<n;i++)
{
p=new node;
p->x=a[i];
p->next=NULL;
pre->next=p;
pre=p;
}
return head;
}
int main()
{
int n,a[1001];
while(cin>>n)
{
for(int i=0;i<n;i++)
{
cin>>a[i];
}
sort(a,a+n);
// node* p=new node;
node* L=create(a,n);
L=L->next;
int flag=1;
while(L)
{
if(flag==1)
{
cout<<L->x;
flag=0;
L=L->next;
}
else{
cout<<' '<<L->x;
L=L->next;
}
}
cout<<endl;
}
}