我现在正在为期末考试做准备,我在教授的ppt幻灯片的末尾看到了以下问题,这些幻灯片讨论的是Stack:
What is a Double Stack?
我知道堆栈是同构元素(即列表)的有序集合,其中所有的插入和删除都是在列表的一端进行的,称为堆栈顶部。但是,什么是双重堆栈呢?我试着在谷歌上搜索,但没有找到答案。
发布于 2011-06-14 15:19:38
它可以是2个堆栈,它们存储在单个数组中,并以相反的方向增长。
http://www.ceglug.org/index.php/labs/45-double-stack-implementationwith-structuresand
虽然这是我找到的唯一参考资料。
发布于 2011-06-14 15:17:01
DoubleStack是由双精度值组成的堆栈。
你可以在下面找到更多信息
http://www.cis.syr.edu/courses/cis351/docs/edu.colorado.collections.DoubleStack.html.gz
发布于 2012-02-12 15:49:18
双堆栈是指使用单个数组实现的两个堆栈。为了防止内存浪费,两个堆栈以相反的方向增长。指针tops1和tops2分别指向堆栈1和堆栈2的顶层元素。最初,tops1被初始化为-1,tops2被初始化为容量。当元素被推入堆栈1时,tops1会递增。类似地,当元素被压入堆栈2时,tops2也会递减。因此,当tops1=tops2-1时,数组是满的。除此之外,将元素推入任何堆栈都会导致溢出情况。
https://stackoverflow.com/questions/6340216
复制相似问题