堆栈 先进后出的使用案例

案例出自于: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 class TestStack {
    public static void main(String[] args) {
        Stack st1 = new Stack();

        Stack st2 = new Stack();

        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

www.jeesite.net国产优秀开源框架 国际化标准 安全可靠 品质卓越 不断创新 主要用于政府、银行、Web互联网平台、中小型企业管理后台
原文地址:https://www.cnblogs.com/anpajin/p/6295710.html