问题描述: 你有一个破损的键盘。键盘上所有的键都可以正常工作,但有时候Home键或者End键会自动按下。你并不知道键盘存在这一问题,而是专心打稿子,甚至连显示器都没打开。当你打开显示器后,展现在你面前的是一段悲剧文本。你的任务是在打开显示器之前计算出这段悲剧文本。 输入包含多组数据。每组数据占一行, ...
分类:
其他好文 时间:
2017-10-24 01:45:54
阅读次数:
218
1双向线性链表 1.1 问题 双向线性链表是採用链式存储的方式存储的线性表。链式存储结构是由一系列结点(链表中每个元素称为结点)组成,每个结点包含两个部分:一个是存储数据元素的数据域,还有一个是存储当前结点的前驱结点和后继结点地址的指针域,结点是在有数据时动态生成的。是一种物理存储单元上非连续、非顺 ...
分类:
编程语言 时间:
2017-08-19 21:08:23
阅读次数:
194
因为过几天要去参加厦门大学的夏令营,提前刷了下厦门大学往年的期末考试试卷。 卷中有这么一道题目: 有一个单链表,其结点的元素值以递增顺序排列,给出数据结构,并编写一个算法删除该单链表中元素值相同的结点。 算法如下: 从头到尾扫描单链表,若当前结点和后继结点的值不相同,则指针后移,若相同,则删除该后继 ...
分类:
其他好文 时间:
2017-07-11 17:44:28
阅读次数:
126
初始化链表:1 2 3 4 5 6 结果链表:4 3 2 1 5 6 【问题】将初始链表中的前k个逆转 ...
分类:
其他好文 时间:
2017-04-25 11:49:43
阅读次数:
129
问题描述: 定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。链表结点定义如下: struct ListNode{ int m_nKey; ListNode* m_pNext; } 分析: 这个问题看起来与之前做的从尾到头打印链表看起来很相似,都是链表的“逆序”。但不同的是,这 ...
分类:
其他好文 时间:
2017-04-24 14:02:06
阅读次数:
136
做完这道题,我深刻认识到通过边画图边写代码揣摩分析才能真正弄懂这道题,而且如果不是独立思考AC看了题解恐怕就很难弄懂这道题。 这里整理一下题解:本题思路有两种:递归和非递归 Java版AC代码: 数据结构定义: 递归版: 非递归版: Java中有关Stack的API C++版AC代码: 数据结构: ...
分类:
其他好文 时间:
2017-04-22 00:55:38
阅读次数:
246
问题描述 有一串已经从小到大排好序的数2 3 5 8 9 10 18 26 32.现需要往这串数中插入6使其得到的新序列仍符合从小到大的排列。 分析 我们可以用一个数组data来存储每个序列中的每一个数,再用一个数组right来存放序列中每一个数右边的数是谁。 1 2 3 4 5 6 7 8 9 1 ...
分类:
其他好文 时间:
2017-04-04 14:15:45
阅读次数:
133
我们构造一个循环链表来表示排成圆圈的人。每个人的链接指向圆圈内在他左边的人。正数i表示圆圈内的第i个人。已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全 ...
分类:
其他好文 时间:
2017-01-30 10:31:47
阅读次数:
190
题解: 先来探讨约瑟夫问题 常规做法是链表模拟.不多说 递推做法 分析: 第一次: 0.1.2 ..... k-1.k.k+1........n-1 去掉k - 1 0.1.2 ..... k.k+1........n-1 从k开始 k.k+1...... n-1.0.1........ k-2 转 ...
分类:
其他好文 时间:
2016-11-29 07:34:14
阅读次数:
181
【问题描述】 1、建立两个有序的单链表,表中元素的数据类型自己指定; 2、将建立的两个链表合并为一个新的有序的单链表; 3、输出显示已合并好的有序的单链表。 【输入形式】输入表1的元素个数,表1的元素值(逆序),同表1,输入表2的数据。【输出形式】输出合并后的元素值。【样例输入】 3 //表1元素个 ...
分类:
其他好文 时间:
2016-10-14 23:12:02
阅读次数:
212