九度OJ 题目1181:遍历链表
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:1071
解决:437
- 题目描述:
建立一个升序链表并遍历输出。
- 输入:
输入的每个案例中第一行包括1个整数:n(1<=n<=1000),接下来的一行包括n个整数。
- 输出:
可能有多组测试数据,对于每组数据,
将n个整数建立升序链表,之后遍历链表并输出。
- 样例输入:
43 5 7 9
- 样例输出:
3 5 7 9
- 来源:
- 2000年华中科技大学计算机研究生机试真题
/********************************** 日期:2013-2-20* 作者:SJF0115* 题号: 九度OJ 题目1181:遍历链表* 来源:http://ac.jobdu.com/problem.php?pid=1181* 结果:AC* 来源:2000年华中科技大学计算机研究生机试真题* 总结:**********************************/#include<stdio.h>#include<malloc.h>typedef struct Node{int data;struct Node *next;}LinkList;int main(){int i,n,a;while(scanf("%d",&n) != EOF){LinkList *head,*pre,*p,*newNode;head = (LinkList*)malloc(sizeof(LinkList));head->next = NULL;//输入数据for(i = 0;i < n;i++){//创建节点newNode = (LinkList*)malloc(sizeof(LinkList));scanf("%d",&newNode->data);//升序排列pre = head;p = head->next;//找到插入位置while(p){if(newNode->data < p->data){break;}pre = p;p = p->next;}//插入新节点newNode->next = p;pre->next = newNode;}//输出p = head->next;printf("%d",p->data);while(p->next){p = p->next;printf(" %d",p->data);}printf("\n");}return 0;}