九度OJ 题目1181:遍历链表
2016-01-09 12:06
309 查看
题目1181:遍历链表
题目描述:
建立一个升序链表并遍历输出。输入:
输入的每个案例中第一行包括1个整数:n(1<=n<=1000),接下来的一行包括n个整数。输出:
可能有多组测试数据,对于每组数据,将n个整数建立升序链表,之后遍历链表并输出。
样例输入:
43 5 7 9
样例输出:
3 5 7 9来源:
2000年华中科技大学计算机研究生机试真题/********************************* * 日期:2016-1-9 * 作者:Pt * 题号: 九度OJ 题目1181:遍历链表 * 来源:http://ac.jobdu.com/problem.php?pid=1181 * 结果:AC * 来源:2000年华中科技大学计算机研究生机试真题 * 总结: 1.可能有多组测试数据!!! 2.思路要清晰 3.* 与 & **********************************/ #include<stdio.h> #include<stdlib.h> typedef struct LNode { int data; struct LNode * next;//struct }LNode; typedef LNode* LinkList; LinkList InitL(void); void UpAdd(LinkList L, int t); void printL(LinkList L); int main() { LinkList link_list; int n, i, t; while(scanf("%d", &n)==1) //可能有多组测试数据!!! { link_list = InitL(); for(i = 0; i < n; i ++) { scanf("%d", &t); UpAdd(link_list, t); } printL(link_list); } return 0; } LinkList InitL(void) { LinkList link_list; link_list = (LinkList)malloc(sizeof(LNode)); link_list-> next = NULL; return link_list; } void UpAdd(LinkList L, int t) { LinkList p = L; LinkList q = (LinkList)malloc(sizeof(LNode)); q -> data = t; q -> next = NULL; while(p -> next != NULL && t > p-> next -> data) p = p -> next; //寻找插入位置p,在p之后插入 if(p -> next == NULL) p -> next = q; else { q -> next = p -> next; p -> next = q; } } void printL(LinkList L) { LinkList p = L->next; while(p != NULL) { if(p->next == NULL) printf("%d\n", p -> data); else printf("%d ", p->data); p = p -> next; } }
我的血泪史
不说了,吃饭去,下午复习电路 〒_〒
相关文章推荐
- JavaScript定时器的相关操作
- 特殊的日子—IDF实验室CTF训练营
- 1.26 树状结构
- 解决Access连接 accdb 不可识别的数据库格式异常
- HttpWebRequest模拟浏览器的GET、POST请求
- Linux , Mozilla Firefox 安装adobe flash player插件
- 各种界面技术比較
- ios身份证key字典排序
- SQL SERVER CEILING 函数 取整时的坑。。。
- 又到回望凝眸时
- 遇到问题时不要乱了方寸
- send和recv的flags
- Greenfoot游戏——推箱子
- 源码安装 zabbix 2.4.5
- CSS中@import的问题
- java 一些问题验证
- c++构造函数
- 主页面、iframe之间调用以及传值
- redis主从复制(转载)
- JsonParseException: Unexpected character ('?' (code 255))