调用约定(Calling convention),决定以下内容:
a. 函数参数的压栈顺序。
b. 由调用者还是被调用者把参数弹出栈。
c. 以及产生函数修饰名的方法。
常用的调用约定为__stdcall、__cdecl、__fastcall。
1) __stdcall。
StandardCall的缩写,约定内容:
a. 参数从右向左压入堆栈。
b. 函数被调用者修改堆栈。...
分类:
编程语言 时间:
2014-12-12 13:24:06
阅读次数:
188
题目大意:如上图所示,已知火车要从A入站,然后从C出站。火车进站的
顺序为1~N,现在给你出站的顺序。问:能不能通过站台改变火车出站顺序
来实现按所给顺序出站。
思路:把站台看做是一个栈,按1~N的顺序遍历火车原先顺序,先入栈,如
果栈顶的火车编号和所给出站顺序将要出站的编号一样。那么火车就出栈,
直到栈里边所有满足出站顺序的火车都出站,否则就一直入栈。最后判断所
有火车是否都出站了。若都出站,输出Yes,否则输出No。...
分类:
其他好文 时间:
2014-12-09 19:39:05
阅读次数:
212
题目:用两个队列实现一个栈
算法思路:
现有两个队列q1与q2,入栈:如果q1与q2都为空,那么我们选择q1入栈也就是入队列,比如q1入栈 1 2 3 4 ;现在要出栈,后进先出那么4要出栈。但是q1是一个
队列,先进先出,那么 1 2 3出队列 q2 1 2 3 入队列,q1中此时剩余4,把4出对列达到出栈的效果。 这个时候如果我们又加入一个元素5,那么我们应该把5放到
q1还是q2,...
分类:
编程语言 时间:
2014-12-09 12:23:45
阅读次数:
221
算法思路:
一个栈用来入队列,一个栈用来出队列:
现有两个栈s1 和s2;s1用来入栈,比如 队列进入 1 2 3 4 5 那么s1进栈 1 2 3 4 5 ,现在要出队列,意思就是要1先出来;
那么我们把栈s1的数据取出来都压到栈s2当中,那么栈s2就是 5 4 3 2 1 ;s2再出栈,此时1出栈就模拟出出队列的效果;
编写代码:
// QueueFrom2Stack.cp...
分类:
编程语言 时间:
2014-12-08 19:40:39
阅读次数:
215
考题: 栈底至栈顶一次存放元素 ABCD 在第五个元素E入栈之前 栈中元素可以出栈,则出栈序列可能是_____a d___________. a. ABCED b. DBCEA c. CDABE d. DCBEA分析:1.假定进栈序列是从小到大排练的(即A<B<C<D<E),则出栈序列中不可能有.....
分类:
编程语言 时间:
2014-12-06 21:30:45
阅读次数:
233
(001)顺序栈的C++实现
2014/12/4 jxlijunhao
这里通过C++模板类来实现一个顺序栈:
1)初始化
2)入栈
3)出栈
4)取栈顶元素
定义一个头文件
#ifndef SQ_STACK_H
#define SQ_STA...
分类:
编程语言 时间:
2014-12-04 23:17:53
阅读次数:
385
3.6 编写程序,按升序对栈进行排序(即最大元素位于栈顶)。最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中(如数组)。该栈支持如下操作:push、pop、peek和isEmpty。解答使用一个附加的栈来模拟插入排序。将原栈中的数据依次出栈与附加栈中的栈顶元素比较, 如果附加栈...
分类:
其他好文 时间:
2014-12-04 21:27:28
阅读次数:
185
3.5 实现一个MyQueue类,该类用两个栈来实现一个队列。解答队列是先进先出的数据结构(FIFO),栈是先进后出的数据结构(FILO), 用两个栈来实现队列的最简单方式是:进入队列则往第一个栈压栈, 出队列如果第二个栈不为空,则直接从第二个栈出队列,否则将第一个栈的数据依次压入第二个栈,然后出栈...
分类:
其他好文 时间:
2014-12-04 21:25:24
阅读次数:
168
3.1 描述如何只用一个数组来实现三个栈。解答我们可以很容易地用一个数组来实现一个栈,压栈就往数组里插入值,栈顶指针加1; 出栈就直接将栈顶指针减1;取栈顶值就把栈顶指针指向的单元的值返回; 判断是否为空就直接看栈顶指针是否为-1。如果要在一个数组里实现3个栈,可以将该数组分为3个部分。如果我们并不...
分类:
其他好文 时间:
2014-12-04 11:51:01
阅读次数:
153
以前用过C++,知道它里面有一个内联函数这个概念,一般情况用inline关键字修饰,在C++定义类时,那种写中Class定义里面的函数,也被编译器当做内联函数处理。
说了这么多,还没说什么是内联函数。所谓内联函数就是指函数在被调用的地方直接展开,编译器在调用时不用像一般函数那样,参数压栈,返回时参数出栈以及资源释放等,这样提高了程序执行速度。
现在该...
分类:
编程语言 时间:
2014-12-02 16:38:11
阅读次数:
229