用陣列模擬棧

2021-10-24 01:38:51 字數 1066 閱讀 1212

/**

* 用陣列模擬棧

* 棧是乙個先入後出(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 在學習棧時我們可以把它想象成乙個桶,依次放入東西,在取東西時只能從上面依次取出,不可能直接取出下面的東西。棧...

陣列模擬棧

棧的結構相當於生活中常見的一端封閉,一端開頭的容器,如下圖 底部封死後,只能通過上邊的埠來訪問東西,即先放入的後取出。棧就是這樣一種結構。棧 是一種線性資料結構,並且棧中的元素只能先入後出,並且最早進入的元素存放的位置叫棧底 封閉端 最後進入的元素存放的位置叫棧頂 開口端 可以通過陣列或者鍊錶來實現...