我正在做这项任务。
我需要在不初始化的情况下创建一个临时堆栈。
然后使用while循环将堆栈1的项目推送到这个临时堆栈中。
然后我需要使用另一个(嵌套的?)循环遍历临时堆栈并将项从临时堆栈添加到堆栈2。
然后我需要设置栈1和栈2相等,这样栈2保持不变。
发布于 2012-01-21 06:58:03
你的界面看起来有点不对劲。让我们从这里开始,看看这是否能让你克服困难。
stack.top()通常会偷看一个项目,但不会将其删除。这对于从一个堆栈转移到另一个堆栈似乎没有用处。您已经使用isEmptyStack()来检查顶部元素是否存在。
stack.pop()通常从堆栈中取出顶部的项。这听起来对传输很有用。
stack.push(item)将项目放在堆栈的顶部。这听起来对传输很有用。
stack.push()看起来就是错了。推什么?
希望一旦你实现了这些方法,剩下的将从你提供的问题的英文描述中开始有意义。
更新:这是你想要的:
|a | | | | | | | | | |c |
|b | | |b | | | |b | | |b |
|c | | |c |a | |c |a | | |a |
1 tmp 2 1 tmp 2 1 tmp 2 1 tmp 2
| | | | | | | | |a
| |b | | | |b | | |b
| |a |c | |a |c | | |c
1 tmp 2 1 tmp 2 1 tmp 2 现在,只有push、pop和IsEmptyStack,没有互相分配堆栈(这有点违背了分配的目的),你能做到吗?
https://stackoverflow.com/questions/8948795
复制相似问题