java數據結構2棧

package stack;
/**
 * 棧
 * 棧的特徵 先進後出,後進先出
 * @author 羊頭怪
 *
 */
public class MyStack {
	/**
	 * 棧的特徵 先進後出,後進先出
	 */
    //棧的底層是數組
	private int[] array;
	//數組下標
	private int top;
	
	/**
	 * 無參構造 初始化數組
	 * 默認數組長度是10
	 */
		
	public MyStack() {
		array = new int[10];
		
		top=-1;
	}
	
	 /**
	  * 有參構造初始化數組
	  */
	public MyStack(int size) {
		array = new int[size];
		
		top=-1;
	}
	
	/**
	 * 判斷棧中是否有元素
	 * false有元素 不是空
	 * true沒有元素  是空
	 * 
	 */
	
	public boolean isEmpty() {
		
		return top==-1;
	}
	
	/**
	 * 判斷棧中元素是否滿了
	 * false 不滿
	 * true 滿
	 */
	
	public boolean isfull() {
		
		return top==array.length-1;
	}
	
	/**
	 * 清空棧
	 */
	
	public void clear() {
		top=-1;
		
	}
	
	
	/**
	 * 向棧壓進數
	 * 進棧
	 * @param value
	 */
	public void push(int value) {
		
		array[++top]=value;
	}
	
	/**
	 * 訪問棧頂元素
	 */
	public int peek() {
		
		return array[top];
	}
	
	/**
	 * 移除元素
	 * 出棧
	 * @param index
	 */
	public int pop() {
		
	  return array[top--];
	}
	
	public void find(int index) {
		
	}
	
	public void toMyStack() {
		System.out.print("["+" ");
		for(int i=0;i<=top;i++) {
			System.out.print(array[i]+" ");
		}
		System.out.println("]");
	}
}

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