/**
* 用陣列模擬棧
* 棧是乙個先入後出(filo-first in last out)的有序列表
* 允許插入和刪除的一端為變化的一端,稱為棧頂(top),另一端為固定的一端,稱為棧底(bottom)
*/public
class
arraystackdemo
catch
(exception e)
break
;case
"exit"
: scanner.
close()
; loop =
false
;break
;default
:break;}
} system.out.
println
("程式退出了");
}}//表示棧
class
arraystack
public
arraystack()
//棧滿
public
boolean
isfull()
//棧空
public
boolean
isempty()
//入棧
public
void
push
(int value)
top++
; stack[top]
= value;
}//出棧,將棧頂的資料返回
public
intpop()
int value = stack[top]
; top--
;return value;
}//顯示棧的情況,遍歷時從棧頂開始顯示資料
public
void
list()
for(
int i = top; i >=
0; i--)}
}
用陣列去模擬棧
用資料模擬棧,在一定的程度上提高了效率。但浪費了一些空間。下面我附上 include include define emptytos 1 define minstacksize 5 struct stackrecord typedef struct stackrecord stack struct ...
陣列模擬棧
在資料結構中棧是一種線性結構也是有序列表,棧的特點就是 filo 先進後出 棧是限制線性表中元素的增加和刪除只能在一端進行的特殊線性表,變化的一端為棧頂 top 固定的一端棧底 bottom 在學習棧時我們可以把它想象成乙個桶,依次放入東西,在取東西時只能從上面依次取出,不可能直接取出下面的東西。棧...
陣列模擬棧
棧的結構相當於生活中常見的一端封閉,一端開頭的容器,如下圖 底部封死後,只能通過上邊的埠來訪問東西,即先放入的後取出。棧就是這樣一種結構。棧 是一種線性資料結構,並且棧中的元素只能先入後出,並且最早進入的元素存放的位置叫棧底 封閉端 最後進入的元素存放的位置叫棧頂 開口端 可以通過陣列或者鍊錶來實現...