堆栈是一种重要的数据结构,有不同的实现方式,该程序示范了如何用数组实现简单的栈操作。 定义头文件: 入栈操作: 出栈操作: 判断是否栈满: 判断是否为空栈: 一下分别是栈满和栈空时的操作: 打印所有的栈元素(打印后所有栈中的元素也将不存在!): 主函数测试: ...
分类:
编程语言 时间:
2016-10-24 01:57:08
阅读次数:
193
判断题: 1-1 算法分析的两个主要方面是时间复杂度和空间复杂度的分析。 (2分) 1-2 将N个数据按照从小到大顺序组织存放在一个单向链表中。如果采用二分查找,那么查找的平均时间复杂度是O(logN)。 (3分) 1-3 通过对堆栈S操作:Push(S,1), Push(S,2), Pop(S), ...
分类:
其他好文 时间:
2016-10-22 12:17:07
阅读次数:
4334
最近学习数据结构,一开始接触感觉好难,颓废了一段时间,后来又重新翻开学习,突然感觉到很大的兴趣。对这些代码的运用都有了 一些新的认识。下面简单的讲述下最新学到的顺序栈,不知道大家学习的时候会不会有感觉,书上写的那么简单,但是我写的都是不对,不是这里有错就是那里有错,最后还是攻克了,心理慢慢地成就感。 ...
分类:
编程语言 时间:
2016-10-22 06:58:16
阅读次数:
227
题目链接:http://codevs.cn/problem/1332/ 题解: 裸Tarjan,每次出栈操作时,记录当前强连通分量中的结点数,与ans1比较,并用ans2记录当前最大强连通分量的序号 ...
分类:
其他好文 时间:
2016-10-16 07:29:53
阅读次数:
153
本周老师作业留了两个。先上传一个吧。那个有时间我再传上来~ 本周的要求: 1.给出顺序栈的存储结构定义。 2.完成顺序栈的基本操作函数。 1) 初始化顺序栈 2) 实现入栈和出栈操作 3) 实现取栈顶元素和判空操作 括号匹配问题 3.编写主函数实现基本操作函数功能,并设置测试数据,测试合法和非法数据 ...
分类:
其他好文 时间:
2016-10-14 23:39:04
阅读次数:
203
接下来看看宏都有什么好处: 1. 提高了程序的可读性,同时也方便进行修改; 2. 提高程序的运行效率:使用带参的宏定义既可完成函数调用的功能,又能避免函数的出栈与入栈操作,减少系统开销,提高运行效率; 3.宏是由预处理器处理的,通过字符串操作可以完成很多编译器无法实现的功能。比如##连接符。 但是它 ...
分类:
其他好文 时间:
2016-10-07 01:20:57
阅读次数:
201
栈和队列其实就是操作受限的队列。 1~~栈的特点:栈是限定仅在表的另一端(栈顶)进行插入,删除操作的线性表,是后进先出的线性表。 2~~顺序栈 (1)顺序栈的存储表示 (2) 压栈操作 (3)弹栈操作 3~~链式栈 (1)链式栈的存储表示 指向表头的指针为栈定指针 (2) 压栈操作 (3) 弹栈操作 ...
分类:
其他好文 时间:
2016-10-05 19:56:55
阅读次数:
161
1403 有趣的堆栈 基准时间限制:1 秒 空间限制:131072 KB 分值 大家都熟悉堆栈操作。一个堆栈一般有两种操作,push和pop。假设所有操作都是合法的并且最终堆栈为空。我们可以有很多方法记录堆栈的操作, (1) 对每个pop操作,我们记录它之前一共有多少个push操作。 (2) 对每个 ...
分类:
其他好文 时间:
2016-10-05 10:49:00
阅读次数:
156
http://codevs.cn/problem/1170/ (题目链接) 题意 给出一个初始序列,判断能否通过两个栈的入栈和出栈操作构造出一个有序序列。若可以,输出字典序最小的方案。 Solution 还是想狙LCF才看的这道题,真的是很神啊。考场绝对做不出的题之一。 网上题解一大piang,那个 ...
分类:
编程语言 时间:
2016-10-04 18:18:57
阅读次数:
180
http://codevs.cn/problem/1086/ (题目链接) 题意 给出1~n总共n个数,对它们进行入栈出栈操作,问一共有多少种不同的方案。 Solution 找规律手玩前4个发现是卡特兰数,再见。 代码 ...
分类:
其他好文 时间:
2016-09-30 01:22:02
阅读次数:
168