题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长 ...
分类:
其他好文 时间:
2019-02-21 21:47:24
阅读次数:
158
文件目录的拷贝 在学习IO流通常遇到目录的操作,涉及到一层层的目录和子孙级文件,往往使用递归思想。 递归思想之巧妙,但要处理大量的函数压栈和出栈问题,效率并不高。 主要思路: 将问题模块化:文件目录的拷贝其实就是分为 模块1:从源操作目录拷贝文件到目的操作目录 模块2:在目的操作文件目录下创建新的目 ...
分类:
其他好文 时间:
2019-02-07 23:24:26
阅读次数:
224
Stack的常用基本操作: s.push() // 压栈 s.emplace() // 插入,相当于push(目前掌握的唯一区别是emplace可以自行调用构造函数,push不行) s.empty() // 判断栈空 s.top() // 访问栈顶元素 s.pop() // 退栈 s.size() ... ...
分类:
编程语言 时间:
2019-01-31 01:35:20
阅读次数:
256
一、栈 1、栈(stack)是一种线性存储结构 栈中的数据元素遵守先进后出的原则,FILO结构 限定只能在栈顶进行插入与删除操作 栈的操作包括压栈出栈 栈中的数据元素遵守先进后出的原则,FILO结构 限定只能在栈顶进行插入与删除操作 栈的操作包括压栈出栈 栈中的数据元素遵守先进后出的原则,FILO结 ...
分类:
编程语言 时间:
2019-01-27 19:07:21
阅读次数:
223
栈的定义: 栈(stack)是限定仅在表尾进行插入和删除的线性表。 我们把允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom) ,不包含任何数据元素的栈称为空栈,栈又称为先进后出的线性表,简称LIFO结构。 栈的插入操作:叫做进栈,或压栈、入栈。 栈的删除操作:叫做,出栈,或者弹栈 ...
分类:
编程语言 时间:
2019-01-22 13:22:14
阅读次数:
208
还以为能用单调栈做出来,,想了老半天,最后发现模拟一下很好做的 按顺序把字符压栈即可 ...
分类:
其他好文 时间:
2019-01-06 00:04:26
阅读次数:
196
题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路:栈的特点后进先出,队列的特点是先进先出。2个栈的情况可以通过2次的压栈和出栈实现队列的先进先出。 其中一个栈来实现入队,一个栈实现出队。 图示: 注意:对于入队操作,直接对stack1进行入栈操作就好了 ...
分类:
其他好文 时间:
2019-01-01 16:08:36
阅读次数:
180
1.描述:实质是一种受到限制的表,即插入删除只能在表的末端,能够实现LIFO(后进先出) 2.栈的实现 链表实现(链栈) 数组实现(顺序栈) 3.链栈 创建一个空栈 测试栈是否为空 从栈顶弹出元素 返回栈顶元素(不弹出,不改变栈顶指针),遇到空栈将返回异常 清空栈(同时销毁物理内存) 压栈 遍历栈 ...
分类:
编程语言 时间:
2018-12-31 18:59:04
阅读次数:
240
递归的本质 逻辑上自己调用自己 系统上帮你压栈 比如我要解决一个问题A 我必须先解决他的子问题B B也有子问题C C也有........ 相当于一种依赖的关系 递归 去回 耗内存 效率低 一切递归可以改成非递归 master公式 T(N)= T(N/2)+0(N) 待续 归并 mergeSort 分 ...
分类:
其他好文 时间:
2018-12-29 00:13:39
阅读次数:
245
题目 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1、2、3、4、5是某栈的压栈序列,序列4、5、3、2、1是该压栈序列对应的一个弹出序列,但4、3、5、1、2就不可能是该压栈序列的弹出序列。 思路 ...
分类:
其他好文 时间:
2018-12-27 18:33:01
阅读次数:
116