面试题 - 用 java代码编写堆栈

Android程序员面试宝典

public class Stack {

    int[] data;
    int maxSize;
    int top;
    public Stack(int maxSize) {
        this.maxSize = maxSize;
        data = new int[maxSize];
        top = -1;
    }
    /**
     * 依次加入数据
     * @param data 要加入的数据
     * @return 添加是否成功
     */
    public boolean push(int data) {
        if(top+1== maxSize) {
            System.out.println("栈已满!");
            return false;
        }
        this.data[++top] = data;
        return true;
    }
    /**
     * 从栈中取出数据
     * @return 取出的数据
     */
    public int pop() throws Exception{
        if(top==-1) {
            throw new Exception("栈已空!");
        }
        return this.data[top--];
    }
    public static void main(String[] args) throws Exception{
        Stack stack=new Stack(1000);
        stack.push(1);
        stack.push(2);
        stack.push(3);
        stack.push(4);
        stack.push(5);
        while(stack.top>=0)
        {
            System.out.println(stack.pop());
        }
    }

}
    原文作者:马伟奇
    原文地址: https://www.jianshu.com/p/0aae3bd5d3c7
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞