用陣列來模擬棧
private
int maxsize;
//棧的大小
private
int[
] stack;
//陣列,陣列模擬棧,資料放在該陣列
private
int top =-1
;//表示棧頂,初始化-1
//初始化棧
public
arraystack
(int maxsize)
判斷棧為空的操作就是判斷棧頂是否為-1(前面初始化的棧頂就是為-1)
//棧空
public
boolean
isempty()
判斷棧是否滿就是比較棧頂和棧最大容量的關係
//棧滿
入棧就是棧底不動,將元素壓入棧中,棧頂向上移
//入棧
//出棧,返回棧頂的資料
public
intpop()
return stack[top--];
}
棧的遍歷是從棧頂開始向棧底進行遍歷的
//遍歷棧,從棧頂開始顯示資料
public
void
list()
for(
int i = top; i >=
0; i--
)}
陣列模擬棧
在資料結構中棧是一種線性結構也是有序列表,棧的特點就是 filo 先進後出 棧是限制線性表中元素的增加和刪除只能在一端進行的特殊線性表,變化的一端為棧頂 top 固定的一端棧底 bottom 在學習棧時我們可以把它想象成乙個桶,依次放入東西,在取東西時只能從上面依次取出,不可能直接取出下面的東西。棧...
陣列模擬棧
棧的結構相當於生活中常見的一端封閉,一端開頭的容器,如下圖 底部封死後,只能通過上邊的埠來訪問東西,即先放入的後取出。棧就是這樣一種結構。棧 是一種線性資料結構,並且棧中的元素只能先入後出,並且最早進入的元素存放的位置叫棧底 封閉端 最後進入的元素存放的位置叫棧頂 開口端 可以通過陣列或者鍊錶來實現...
雞蛋棧(陣列模擬棧)
繼佇列之後,我們又來學習一種新的資料結構 棧。將佇列的頭部封閉後,就構成了棧這種資料結構,原來佇列頭部就是棧底,原來佇列的尾部就是棧頂。棧與佇列的不同就在於棧的底端是封閉的。所以,棧的插入和刪除操作只能在棧的一端進行,即棧頂。棧的插入操作稱為入棧,刪除操作稱為出棧。底 頂 底 頂 第二行輸入乙個數n...