我現在學習的期末考試,我看到以下問題在教授的PPT幻燈片,其中所談到的堆棧的末尾:什麼是雙棧?
What is a Double Stack?
我知道堆棧是一個有序同質元素(即列表)的集合,其中所有插入和刪除操作都在名爲堆棧頂部的列表的一端進行,但雙棧是什麼?我試圖通過谷歌搜索,我沒有找到答案的運氣。
我現在學習的期末考試,我看到以下問題在教授的PPT幻燈片,其中所談到的堆棧的末尾:什麼是雙棧?
What is a Double Stack?
我知道堆棧是一個有序同質元素(即列表)的集合,其中所有插入和刪除操作都在名爲堆棧頂部的列表的一端進行,但雙棧是什麼?我試圖通過谷歌搜索,我沒有找到答案的運氣。
找到更多信息這可能是2堆被存儲在一個單一陣列和在相反的方向生長。
http://www.ceglug.org/index.php/labs/45-double-stack-implementationwith-structuresand
雖然這是唯一的參考,我發現。
DoubleStack是一個雙值的堆棧。
您可以在
http://www.cis.syr.edu/courses/cis351/docs/edu.colorado.collections.DoubleStack.html.gz
雙棧表示使用單個陣列實現的兩個棧。爲了防止內存浪費,兩個堆棧在相反的方向上生長。指針tops1和tops2分別指向堆棧1和堆棧2的最頂層元素。最初,tops1被初始化爲-1,tops2被初始化爲容量。當元素被推入堆棧1時,頂點1會增加。同樣,當元素被壓入堆棧2時,tops2遞減。所以,當tops1 = tops2-1時數組已滿。除此之外,將元素推入任何堆棧都會導致溢出情況。