使用以下算法
Begin
Initialize Stacks S1,S2
Push all elements into Stack S1
Procedure P(){
While(!S1.isEmpty())
PushS2(PopS1())
}
While(!s2.isEmpty())
Print(popS2())
End
然后问问题上面的伪代码是什么意思?上述算法的作用是什么。
我理解堆栈是如何工作的。在这里,所有打印输出与输入相同。如果输入a,b,c,d,e
,则打印出a,b,c,d,e
。
这个算法是否代表任何重要的东西。编写这种算法的用途是什么?
答案 0 :(得分:0)
P()
将所有内容从S1
推送到S2
,方法是从S1
弹出所有内容并将其推送到S2
,直到堆栈为空且结尾为{{} 1}}循环打印S2中的所有内容,直到它为空...这似乎很简单,除非我遗漏了一些东西。
while
将一个项目添加到堆栈中。
push()
返回堆栈中的顶级项目。