案例出自于:java编程参考官方教程 130页
package com.chinadays.learn;
public class Stack {
private int stack[] = new int[10];
int tos;
public Stack() {
super();
this.tos = -1;
}
void push(int item) {
if (item >= 9)
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 classTestStack {public static voidmain(String[] args) {
Stack st1= newStack();
Stack st2= newStack();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());
}
}
运行结果:
Stack is full!
Stack is full!
Stack is full!
Stack is full!
Stack is full!
Stack is full!
Stack is full!
Stack is full!
Stack is full!
Stack is full!
Stack is full!
Stack is full!
8
7
6
5
4
3
2
1
0
Stack underflow
0
8
7
6
5
4
3
2
1
0
Stack underflow
0
Stack underflow
0
Stack underflow
0
Stack underflow
0
Stack underflow
0
Stack underflow
0
Stack underflow
0
Stack underflow
0
Stack underflow
0
Stack underflow
0
Stack underflow
0