2010-05-30 59 views
3

在C語言中,當爲堆棧製作彈出函數時,是否需要重新排列每個索引,還是我只能刪除頂部索引,並且所有內容都自行移動1個位置?彈出元素

+1

取決於您的實施。 – kennytm 2010-05-30 07:16:24

+0

具體而言,它是基於數組,鏈表還是其他。 – 2010-05-30 07:25:56

回答

5

實現堆棧時,應該在數組的末尾推入並彈出,而不是開始。這樣,沒有什麼可以移動。事實上,如果你的元素不需要清理(無指針等),那麼pop就像減少棧頂變量一樣簡單。

+0

從堆棧頂端推送什麼是一種好方法? – Jay 2010-05-30 07:21:08

+1

棧頂變量應始終指向下一個空槽。推,只需填充空插槽,然後增加堆棧頂變量。另外,在推送時,檢查你的堆棧是否不會溢出包含它的數組。 – 2010-05-30 07:29:10