我正在完成这项任务。
我需要在不初始化的情况下创建临时堆栈。
然后使用while
循环将堆栈1的项目推入此临时堆栈。
然后我需要使用另一个(嵌套?)循环来遍历临时堆栈并将临时堆栈中的项添加到堆栈2上。
然后我需要将堆栈1和2设置为相等,以便堆栈2保持不变。
答案 0 :(得分:2)
您的界面看起来有些偏差。让我们从那里开始,看看是否能让你超越你的驼峰。
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,没有相互分配堆栈(这样做会破坏分配的目的),你能做到吗?