九度oj 1181

来源:互联网 发布:淘宝黑搜是什么意思 编辑:程序博客网 时间:2024/05/16 08:11
题目描述:

建立一个升序链表并遍历输出。

输入:

输入的每个案例中第一行包括1个整数:n(1<=n<=1000),接下来的一行包括n个整数。

输出:

可能有多组测试数据,对于每组数据,
将n个整数建立升序链表,之后遍历链表并输出。

样例输入:
43 5 7 9
样例输出:
3 5 7 9
来源:

2000年华中科技大学计算机研究生机试真题

#include<iostream>#include<algorithm>#include<stdio.h>using namespace std; typedef struct Node{      int data;    struct Node *link;      }Node;     int main(){    int n;int a[10000];    while(scanf("%d",&n)!=EOF)    {        for(int i=1;i<=n;i++)        {                scanf("%d",&a[i]);                }                sort(a+1,a+1+n);                Node *first=(Node*)malloc(sizeof(Node));                                first->link=NULL;                 Node *newnode=NULL,*last=first;int val;                  for(int i=1;i<=n;i++)                  {                          val=a[i];                          newnode=(Node*)malloc(sizeof(Node));                          newnode->data=val;                          last->link=newnode;                          last=newnode;                                                    }                          last->link=NULL;                                                    Node *p=first->link;                          int cnt=0;                          while(p)                          {                                  cnt++;                                  if(cnt==1)                                  {                              printf("%d",p->data);}                              else {printf(" %d",p->data);}                              p=p->link;                              }                              printf("\n");                                                                                           }                              }          


0 0
原创粉丝点击