案例出自于: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