先普及小知识:
STL 中栈的使用方法(stack)
基本操作:
push(x) 将x加入栈中,即入栈操作
pop() 出栈操作(删除栈顶),只是出栈,没有返回值
top() 返回第一个元素(栈顶元素)
size() 返回栈中的元素个数
empty() 当栈为空时,返回 true
STL 中队列的使用(queue)
基本操作:...
分类:
其他好文 时间:
2014-06-22 19:09:51
阅读次数:
169
这里给出二叉树三种遍历方式的迭代实现代码。二叉树的递归实现使用系统栈入栈出栈,而非递归的迭代实现方法就是手动维护一个栈,来模拟递归的入栈出栈过程。 本文没有给出用户栈的代码,如果需要结合上篇的测试代码一起测试,则需要自己实现自己的栈,以及基本的pop、push等栈操作函数。 前序迭代遍历: ...
分类:
其他好文 时间:
2014-06-21 08:19:15
阅读次数:
211
1 /* 2 参考大神nb的代码,感觉思路不错!终于搞明白了!一开始不明白在计算表达式的时候,利用栈到底做了什么!现在感觉我们利用栈就是模拟我们书面上计算表达式, 3 将优先级高的运算先计算出来,然后放进栈中,等待下一次的计算 4 */ 5 #include...
分类:
其他好文 时间:
2014-06-15 20:28:29
阅读次数:
213
卡特兰数
栈是一种常见的数据结构,有许多关于栈的问题,其中之一就是统计元素可能的出栈序列。具体说,就是给定n个元素,依次通过一个栈,求可能的出栈序列的个数。
如果我们用直接模拟的方法,当n较大时会很费时间;
例如动态规划。令f[i,j]表示栈内有i个元素且栈外有j个元素还未进栈,那么以进栈还是出栈为决策就马上得到了转移方程f[i,j]=f[i-1,j]+f[i+1,j-1]。如此一来,很...
分类:
其他好文 时间:
2014-06-11 06:29:56
阅读次数:
296
栈的存储结构有两种:一种是线性栈,一种是链式栈。下面分别是这两种存储结构的实现。...
分类:
其他好文 时间:
2014-06-11 06:09:13
阅读次数:
226
一、先来了解Task
Task
顾名思义,任务,每一个Android应用在运行的时候,都会创建和维护一个属于自己的任务,而事实上,Task是一个包含栈结构的容器,该栈通常叫回退栈,用来保存当前所有Android应用中已经创建的窗口对象,通常我们看到的界面就是处于回退栈栈顶的窗口对象。当我们打开新的一个界面,那么之前的界面(窗口对象)就会压入栈内,让出栈顶位置给新来的界面(窗口对象);当关闭...
分类:
移动开发 时间:
2014-06-10 18:04:29
阅读次数:
247
1.PC机属于微型计算机,常识吧,我哦竟然不知道。2.sql 语句的通配符% ---
一般和like在一起用。匹配任意长度的(长度可以为0)字符如’m%n’匹配字符m和n之间有任意个字符的字符串不是*号3.考试要用心,用心,思维不能僵了。4.数据结构:n个元素进栈,共有多少种出栈顺序?应该是公...
分类:
其他好文 时间:
2014-06-07 20:32:41
阅读次数:
235
由于官方提供的μCOS-III移植工程中对于浮点寄存器的入栈和出栈处理是错误的,所以网上就流传了
各种修正版本。但是这些修正的代码只能在 MDK4.7 以下版本中可以正常的运行,MDK4.7 及其以上的版
本无法正常运行。下面针对高版本的MDK进行修正处理
处理方法如下:
为了解决 FPU 的问题,有两个函数需要修改:一个是 CPU_STK *OSTaskStkInit(...
分类:
其他好文 时间:
2014-06-04 13:59:09
阅读次数:
1255
HDU 4828 Grids
思路:可以转化为卡特兰数,先把前n个人标为0,后n个人标为1,然后去全排列,全排列的数列,如果每个1的前面对应的0大于等于1,那么就是满足的序列,如果把0看成入栈,1看成出栈,那么就等价于n个元素入栈出栈,求符合条件的出栈序列,这个就是卡特兰数了。然后去递推一下解,过程中需要求逆元去计算
代码:
#include
#include
const int ...
分类:
其他好文 时间:
2014-05-25 12:52:33
阅读次数:
389