我有一個關於堆棧的問題。一般來說,我會定義最簡單的方法推法像如何用Java定義分類堆棧
Int size;
public void push(int value){
elements[size++] = value;}
如果我想推一個遞增的順序整數,並調用pop方法在遞減的順序,我怎麼能確定裏面的這個方法相同的推送方法?
我有一個關於堆棧的問題。一般來說,我會定義最簡單的方法推法像如何用Java定義分類堆棧
Int size;
public void push(int value){
elements[size++] = value;}
如果我想推一個遞增的順序整數,並調用pop方法在遞減的順序,我怎麼能確定裏面的這個方法相同的推送方法?
的它不保持堆棧嘗試sorted list
並獲得的第一個元素,並在彈出時將其刪除。
使用排序後的集合來存儲數據而不是普通數組。你可以找到創建排序列表here的建議。
您沒有排序設施在堆棧。
更好的方法是,在將推入堆棧之前,按升序對數據進行排序。在從堆棧彈出數據時,您將按降序獲取數據。
你能解釋更多嗎?我的觀點是,你寫的是關於LIFO(後進先出)的結構 - 這是一個堆棧,當你把1,2,3,4放到它時,你想得到4,3,2,1,所以你的流行音樂是'返回元素[size - ];'。 – Betlista 2012-04-26 08:27:46