堆栈算法

时间:2014-06-26 13:44:50

标签: algorithm data-structures stack

使用以下算法

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

这个算法是否代表任何重要的东西。编写这种算法的用途是什么?

1 个答案:

答案 0 :(得分:0)

P()将所有内容从S1推送到S2,方法是从S1弹出所有内容并将其推送到S2,直到堆栈为空且结尾为{{} 1}}循环打印S2中的所有内容,直到它为空...这似乎很简单,除非我遗漏了一些东西。

while将一个项目添加到堆栈中。

push()返回堆栈中的顶级项目。