---恢复内容开始---后缀表达式--->中缀表达式①.读到操作数,立刻放到输出中②.读到操作符,入栈,左括号也入栈③.读到右括号,依次出栈直到左括号(括号不输出)④.读到优先级低的操作符,原栈中操作符依次出栈,直到更低优先级,然后新的操作符入栈(保证栈中元素优先级
高-->低)中缀 a+b*c+(...
分类:
其他好文 时间:
2014-05-26 22:23:52
阅读次数:
296
原理简述替换.data中保存的数值为0x909090,替换栈中的数值为0x909090 xor
ebp(所在函数帧的),溢出“正面绕过”GSmain函数特点:距离ret近,而且有三个参数gs过程1,gs原理简述。从.data中取出cookie(cookie_ori),运算之后放入栈中成为cookie...
分类:
其他好文 时间:
2014-05-26 13:40:36
阅读次数:
389
v4
fragmentfragmentTransaction.setCustomAnimations(R.anim.push_left_in,
R.anim.push_left_out, R.anim.push_left_in,
R.anim.push_left_out);fragment入栈时,先...
分类:
其他好文 时间:
2014-05-26 10:30:54
阅读次数:
390
本文用指针形式实现了先进先出的队列,与栈队列类似,需要设计一个队列节点类,一个队列类,同时队列类为节点类的友元函数;不过与链栈不同的是,链栈仅用单一指针来实现入栈和出栈而链队列需要有front和rear两个指针(皆为队列节点类指针),front指针负责处理出列,rear处理入列#includeusi...
分类:
其他好文 时间:
2014-05-24 11:52:18
阅读次数:
266
题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个顺序是否是该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压栈序列,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但是4,3,5,1,2就不可能是。分析:首先利用图像进行形象化的理解。可以发现其压...
分类:
其他好文 时间:
2014-05-23 12:55:04
阅读次数:
377
简单的call函数过程
1.参数入栈,返回地址入栈。在一个栈帧里,call function的完整过程应该是这样的,call调用的过程要经历两个过程,一个是首先把调用函数之前的指令的下一条指令地址压入栈中(push ebp),作为返回地址,也就是保存旧栈地址,接着会跳转到被调函数的地址入口。呵呵,现在就是借此来恶补汇编哈。
2.代码区跳转。在执行被调函数的时候,为函数重新开辟栈帧,(mov ebp,esp)这句的意思是将旧栈顶换为新栈的底,这里的新栈一般是由函数专属的哈, 下面就是用sub esp, ...
分类:
其他好文 时间:
2014-05-22 11:34:25
阅读次数:
189
剑指offer上的第22题,九度OJ上AC。
题目描述:
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。
输入:
每个测试案例包括3行:
第一行为1个整数n(1<=n<=100000),表示序列的长度。
第二行包含n个整数,表示栈的压入顺序。
第三行包含n个整数,表示栈的弹出顺序。
输出:
对...
分类:
其他好文 时间:
2014-05-22 10:10:28
阅读次数:
286
剑指offer上的第21题,之前在Cracking the Coding interview上做过,思路参考这里,这次写了测试函数,在九度OJ上测试通过。
题目描述:
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
输入:
输入可能包含多个测试样例,输入以EOF结束。
对于每个测试案例,输入的第一行为一个整数n(1<=n<=1000000), n代表将要输入的操作的步骤数。
接下来有n行,每行开始有一个字母Ci。
Ci=’s’时,接下有一个数字k,代表将k压入栈。
Ci=’o’时,...
分类:
其他好文 时间:
2014-05-22 07:15:30
阅读次数:
318
调用约定(Calling
convention)决定以下内容:函数参数的压栈顺序,由调用者还是被调用者把参数弹出栈,以及产生函数修饰名的方法。最常用的两种 Calling
convention:① _cdecl 按从右至左的顺序压参数入栈,由调用者把参数弹出栈。对于“C”函数或者变量,修饰名是在.....
分类:
其他好文 时间:
2014-05-17 19:14:22
阅读次数:
247
Java虚拟机包括许多进行基本类型转换工作的操作码,这些执行转换工作的操作码后面没有操作数,转换的值从栈顶断获得。Java虚拟机从栈顶端弹出一个值,对它进行转换,然后再把转换结果压入栈。int、long、float、double类型之间的相互转换操作码操作数说明i2l(无)将int类型的值转换为lo...
分类:
编程语言 时间:
2014-05-15 01:45:48
阅读次数:
224