3.1用乙個array實現3個棧
index i+3即可
3.2使棧可以返回min
1.每個node記錄min
2.用新棧儲存min
3.3 如果乙個棧達到設定的threshold就自動新開乙個棧
使用arraylist或stack記錄每個棧.
class setofstacks
void push(v v)
}v pop()
}
4to be continued
5.implement a queue using two stacks
push 的時候把b全部匯入a,然後push入a,pop的時候把a全部匯入b,從b中pop
6.sort a stack by using another stack
使用tmp來記錄pop然後對比答案比自己寫的簡潔
public static void sortstack(stacks)else
t.push(tmp);
tmp=tmp2;}}
t.push(tmp);
while (!t.empty())
}
第三章 棧和佇列 總結
知識點 棧是限制僅在表的一端進行插入和刪除運算的線性表又稱為後進先出表 lifo表 插入 刪除端稱為棧頂,另一端稱棧底。表中無元素稱空棧。基本運算有 1 initstack s 構造乙個空棧 2 stackempty s 判棧空 3 stackfull s 判棧滿 4 push s,x 進棧 5 p...
第三章 棧與佇列 總結
棧 限定僅在表尾進行插入和刪除操作的線性表 棧的抽象資料型別定義 adt stack data 棧中元素具有相同型別及後進先出特性,相鄰元素具有前驅和後繼關係 operation initstack 前置條件 棧不存在 輸入 無 功能 棧的初始化 輸出 無 後置條件 構造乙個空棧 destroyst...
第三章 棧和佇列
棧和佇列 一 棧 1 棧的定義 棧是限定僅在表尾進行插入和刪除操作的線性表,允許插入和刪除的一端稱為棧頂,另一端稱為棧底,不含任何資料元素的棧稱為空棧。2 在任何時候出棧的元素都只能是棧頂元素,即最後最後入棧者最先出棧。所以棧中元素除了具有線性關係外,還具有後進先出的特性。3 棧的抽象資料型別定義 ...