【九度OJ】题目1181:遍历链表 解题报告
【九度OJ】题目1181:遍历链表 解题报告
标签(空格分隔): 九度OJ
http://ac.jobdu.com/problem.php?pid=1181
题目描述:
建立一个升序链表并遍历输出。
输入:
输入的每个案例中第一行包括1个整数:n(1<=n<=1000),接下来的一行包括n个整数。
输出:
可能有多组测试数据,对于每组数据,
将n个整数建立升序链表,之后遍历链表并输出。
样例输入:
4
3 5 7 9
样例输出:
3 5 7 9
Ways
这个题目感觉可以作弊啊……我直接排序不就行了吗,为啥一定要用链表。。
Anyway,还是按照链表来做了一遍。出现了下面的问题。
1、链表每次循环没有初始化,导致上次结果影响下次的,出现了OLE。
2、child是指针,给childe赋值的时候要把下一个节点的地址赋值过来。
3、采用的也是指针进行遍历,所以声明temp时要加*
4、如果是节点的值使用的时候用点,如果是指针指向的元素的值的使用就要用->
5、给节点的child赋值时,最后一个元素的child不要赋值
#include<stdio.h>
#include<algorithm>
using namespace std;
struct Node {
int x;
Node *child;
} node[1001];
bool cmp(Node a, Node b) {
return a.x < b.x;
}
int main() {
int n;
while (scanf("%d", &n) != EOF) {
for (int i = 0; i < 1000; i++) {//初始化
node[i].x = 0;
node[i].child = NULL;
}
for (int i = 0; i < n; i++) {
scanf("%d", &node[i].x);
}
sort(node, node + n, cmp);
for (int i = 0; i < n - 1; i++) {//最后个元素不赋值
node[i].child = &node[i + 1];//引用
}
Node *temp = &node[0];//引用
bool isFirst = true;
while (temp != NULL) {
if (isFirst) {
printf("%d", temp->x);
isFirst = false;
} else {
printf(" %d", temp->x);
}
temp = temp->child;
}
printf("\n");
}
return 0;
}
Date
2017 年 3 月 18 日
【九度OJ】题目1181:遍历链表 解题报告的更多相关文章
- 九度oj题目1181:遍历链表
题目1181:遍历链表 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2600 解决:1125 题目描述: 建立一个升序链表并遍历输出. 输入: 输入的每个案例中第一行包括1个整数:n(1 ...
- 九度oj 题目1181:遍历链表
题目1181:遍历链表 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3483 解决:1465 题目描述: 建立一个升序链表并遍历输出. 输入: 输入的每个案例中第一行包括1个整数:n(1 ...
- 九度OJ 题目1384:二维数组中的查找
/********************************* * 日期:2013-10-11 * 作者:SJF0115 * 题号: 九度OJ 题目1384:二维数组中的查找 * 来源:http ...
- 九度oj题目&吉大考研11年机试题全解
九度oj题目(吉大考研11年机试题全解) 吉大考研机试2011年题目: 题目一(jobdu1105:字符串的反码). http://ac.jobdu.com/problem.php?pid=11 ...
- hdu 1284 关于钱币兑换的一系列问题 九度oj 题目1408:吃豆机器人
钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
- 九度oj 题目1007:奥运排序问题
九度oj 题目1007:奥运排序问题 恢复 题目描述: 按要求,给国家进行排名. 输入: 有多组数据. 第一行给出国家数N,要求排名的国家数M,国家号 ...
- 九度oj 题目1087:约数的个数
题目链接:http://ac.jobdu.com/problem.php?pid=1087 题目描述: 输入n个整数,依次输出每个数的约数的个数 输入: 输入的第一行为N,即数组的个数(N<=1 ...
- 九度OJ题目1105:字符串的反码
tips:scanf,cin输入字符串遇到空格就停止,所以想输入一行字符并保留最后的"\0"还是用gets()函数比较好,九度OJ真操蛋,true?没有这个关键字,还是用1吧,还是 ...
- 九度oj题目1009:二叉搜索树
题目描述: 判断两序列是否为同一二叉搜索树序列 输入: 开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束. 接 ...
随机推荐
- 如何鉴定全基因组加倍事件(WGD)
目前鉴定全基因组加倍(whole-genome duplication events)有3种 通过染色体共线性(synteny) 方法是比较两个基因组的序列,并将同源序列的位置绘制成点状图,如果能在点 ...
- 【Linux】tmux安装(非root)及其使用
tmux(terminal multiplexer)是Linux上的终端复用神器. 1. 安装 (1)下载 下载及其依赖软件. wget -c https://github.com/tmux/tmux ...
- 大型前端项目 DevOps 沉思录 —— CI 篇
摘要 DevOps 一词源于 Development 和 Operations 的组合,即将软件交付过程中开发与测试运维的环节通过工具链打通,并通过自动化的测试与监控,减少团队的时间损耗,更加高效稳定 ...
- 振鹏同学正式学习java的第一天!
一.今日收获 1.最棒的莫过于运行Java的HelloWorld! 2.在同学的帮助下历经坎坷困苦安装完成了Eclipse软件并设置好环境变量. 3.最最最开始了解了Java的前世今生,编程语言发展的 ...
- flink01--------1.flink简介 2.flink安装 3. flink提交任务的2种方式 4. 4flink的快速入门 5.source 6 常用算子(keyBy,max/min,maxBy/minBy,connect,union,split+select)
1. flink简介 1.1 什么是flink Apache Flink是一个分布式大数据处理引擎,可以对有限数据流(如离线数据)和无限流数据及逆行有状态计算(不太懂).可以部署在各种集群环境,对各种 ...
- 13个酷炫的JavaScript一行程序
1. 获得一个随机的布尔值(true/false) const randomBoolean = () => Math.random() >= 0.5; console.log(random ...
- Express中间件原理详解
前言 Express和Koa是目前最主流的基于node的web开发框架,他们的开发者是同一班人马.貌似现在Koa更加流行,但是仍然有大量的项目在使用Express,所以我想通过这篇文章说说Expres ...
- python下载openpyxl
直接下载openpyxl报错 ERROR: Command errored out with exit status 1: python setup.py egg_info Check the log ...
- GO瞬间并发数控制
var wg2 sync.WaitGroup wg2.Add(nums) xc :=0 parallelNum := plt.MaxParallel var waitCount int32 = 0 f ...
- oracle first_value,last_valus
first_value和last_value 是用来去分析函数窗口中对应列的第一个值和最后一个值的函数. 语法如下: first_value(col [ignore NULLS]) over([PAR ...