堆棧 先進後出的使用案例

案例出自於:java編程參考官方教程   130頁java

 

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());

    }
}

 

 

 

運行結果:this

 

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
0spa

相關文章
相關標籤/搜索