本文實例為大家分享了Java實現簡單堆棧的具體代碼,供大家參考,具體內容如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
/** * Created by Frank */ public class ToyStack { /** * 棧的最大深度 **/ protected int MAX_DEPTH = 10 ; /** * 棧的當前深度 */ protected int depth = 0 ; /** * 實際的棧 */ protected int [] stack = new int [MAX_DEPTH]; /** * push,向棧中添加一個元素 * * @param n 待添加的整數 */ protected void push( int n) { if (depth == MAX_DEPTH - 1 ) { throw new RuntimeException( "棧已滿,無法再添加元素。" ); } stack[depth++] = n; } /** * pop,返回棧頂元素并從棧中刪除 * * @return 棧頂元素 */ protected int pop() { if (depth == 0 ) { throw new RuntimeException( "棧中元素已經被取完,無法再取。" ); } // --depth,dept先減去1再賦值給變量dept,這樣整個棧的深度就減1了(相當于從棧中刪除)。 return stack[--depth]; } /** * peek,返回棧頂元素但不從棧中刪除 * * @return */ protected int peek() { if (depth == 0 ) { throw new RuntimeException( "棧中元素已經被取完,無法再取。" ); } return stack[depth - 1 ]; } } |
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。