數據結構-06 棧Stack

1、代碼模擬

package org.gzw.ch03;


public class MyStack {
	//底層實現一個數組
	private long[] arr;
	private int top;
	
	/*無參構造*/
	public MyStack() {
		arr = new long[10];
		top = -1;
	}
	
	/*有參構造*/
	public MyStack(int maxsize){
		arr = new long[maxsize];
		top = -1;
	}
	
	/*添加數據*/
	public void push(long value){
		arr[++top] = value;
	}
	
	/*移除數據*/
	public long pop(){
		return arr[top--];
	}
	
	/*查看數據*/
	public long peek(){
		return arr[top];
	}
	
	/*判斷是否爲空*/
	public boolean isEmpty(){
		return top == -1;
	}
	
	/*判斷是否滿了*/
	public boolean isFull(){
		return top == arr.length-1;
	}
	
}

2、測試

package org.gzw.ch03;

public class TestMyStack {

	public static void main(String[] args) {
		MyStack myStack = new MyStack(5);
		myStack.push(99);
		myStack.push(3);
		myStack.push(-23);
		myStack.push(1);
		myStack.push(76);
		
		//
		System.out.println(myStack.isEmpty());
		System.out.println(myStack.isFull());
		System.out.print(myStack.peek() + ", ");
		System.out.println(myStack.peek());
		
		while(!myStack.isEmpty()){
			System.out.print(myStack.pop() + ", ");
		}
		System.out.println();
		System.out.println(myStack.isEmpty());
		System.out.println(myStack.isFull());
	}

}

3、運行結果

false
true
76, 76
76, 1, -23, 3, 99, 
true
false



 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章