栈_数组实现

top永远代表着栈顶的数据,当栈中没有数据时,top=-1

 

public class StackX {
    private long[] stackArray;
    private int maxSize;
    public int top;
    public StackX(int s) {
        maxSize=s;
        stackArray=new long[maxSize];
        top=-1;
    }
    //添加
    public void push(long j) {
        stackArray[++top]=j;
    }
    //删除
    public long pop() {
        return stackArray[top--];
    }
    //查看
    public long peek() {
        return stackArray[top];
    }
    //判断是否为空
    public boolean isEmpty() {
        return top==-1;
    }
    //判断是否满了
    public boolean isFull() {
        return top==maxSize-1;
    }
    

}
public class Test {

    public static void main(String[] args) {
        StackX theStack=new StackX(10);
        theStack.push(20);
        theStack.push(40);
        theStack.push(60);
        theStack.push(80);
        while (!theStack.isEmpty()) {
            long value=theStack.pop();
            System.out.print(value+" ");
            
        }
        System.out.println();
        System.out.print(theStack.isEmpty());
    }

}

 

posted @ 2017-12-22 10:45  S-Mustard  阅读(122)  评论(0编辑  收藏  举报