复制堆栈意味着什么?

我正在阅读C语言程序设计语言,并学习如何使用堆栈制作逆波兰式计算器。 以下是其中的一个练习:

练习4-4。 添加命令以打印堆栈的顶层元素而不弹出,复制它,并交换顶层的两个元素。 添加一个命令来清除堆栈。

“重复”是什么意思? 这是否意味着打印出整个堆栈,或将整个堆栈推到自身上(例如,“1 2 3”将成为“1 2 3 1 2 3”),或者是什么?


不,不重复堆栈,重复“顶部”条目。

所以如果你的堆栈是:

[1,2,3,4,5],

你得到:

[1,2,3,4,5,5].

在这种情况下,主题“它”是指“堆栈的顶层元素”,而不是“堆栈”。

我收集“元素”是一个错字。


Wikipedia中的面向堆栈的编程语言条目包含堆栈操作操作的描述:

堆栈操作

由于堆栈是面向堆栈的编程语言中数据操作的关键手段,因此这些语言通常会提供某种堆栈操作操作符。 通常提供的是dup,以复制堆栈顶部的元素 exch(或swap),以交换堆栈顶部的元素(第一个成为第二个,第二个成为第一个),滚动,循环排列堆栈或部分堆栈中的元素,弹出(或放置),放弃堆栈顶部的元素(推送是隐式的)等等。 这些成为研究程序的关键。

链接地址: http://www.djcxy.com/p/84341.html

上一篇: What does it mean to duplicate a stack?

下一篇: C Pass arguments as void