資料結構問題 最小棧

2021-10-04 22:43:07 字數 407 閱讀 6817

設計乙個支援pushpoptop操作,並能在常數時間內檢索到最小元素的棧。

使用stack實現棧的基本操作,同時建立乙個輔助棧用於儲存最小元素。

輔助棧在push的時候,只有輔助棧為空,或者輔助棧棧頂大於等於push的數字時,才向其中加入資料。(保證輔助棧棧頂是最小值)。

輔助棧在pop的時候,只有輔助棧棧頂等於存放資料的棧的棧頂資料時,才pop。(確保推出的是最小值)

public class minstack

public void push(int x)

}public void pop()

}public int top()

public int getmin()

}

部落格229 資料結構 最小棧

內容 實現乙個棧,使得這個棧能夠在o 1 時間內得到裡面最小元素 思路 1 這時候使用兩個棧來配合實現,乙個儲存資料,以實現普通棧的功能 2 另乙個棧作為輔助,每次壓入的都是更小的數,否則壓入當前棧頂元素,這樣這個輔助棧出棧的元素 一定是最小的 include include include usi...

資料結構 棧 棧

可以把棧想像成乙個桶 進棧 就是把和桶口一樣大的燒餅往桶裡面扔 出棧 就是把燒餅拿出來 特點 先進後出。先扔進去的燒餅最後才能拿出來,最後扔進去的燒餅,第乙個拿出來 剛開始top 1 top 1 然後把進棧的元素賦值給data top 入棧操作 void push stack s,int x els...

資料結構 棧

例子 棧是一種被限制在只能在表的一端進行插入和刪除運算的線性表。區域性變數是用棧來儲存的 可以進行插入和刪除的一端稱為 棧頂 top 另一端稱為 棧底 bottom 當表中沒有元素時 表長為0的棧 稱為 空棧。棧的修改是按 後進先出的原則進行,因此棧被稱為後進先出 last in first out...