案例出自于:java编程参考官方教程 150页
package com.chinadays.learn; public class Stack { private int stack[]; int tos; public Stack(int length) { stack = new int[length]; this.tos = -1; } void push(int item) { if (item >= stack.length) System.out.println("Stack is full!"); else stack[++tos] = item; } int pop() { if (tos < 0) { System.out.println("Stack underflow"); return 0; } else return stack[tos--]; } }
使用方法:
package com.chinadays.learn; public class TestStack { public static void main(String[] args) { Stack st1 = new Stack(10); Stack st2 = new Stack(20); for (int i = 0; i < 10; i++) st1.push(i); for (int i = 0; i < 20; i++) st2.push(i); for (int i = 0; i < 10; i++) System.out.println(st1.pop()); for (int i = 0; i < 20; i++) System.out.println(st2.pop()); } }
运行 结果:
9
8
7
6
5
4
3
2
1
0
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0