Data structures and algorithms base version of the stack -Java

Disclaimer: This article is a blogger original article, shall not be reproduced without the bloggers allowed. https://blog.csdn.net/qq_40833790/article/details/90603004

Custom stack code

public class MyStack {
    private int[] elements;

    public MyStack(){
        elements = new int[0];
    }

    /**
     * 压入一个元素
     * @param element
     */
    public void push(int element){
        int[] newArr = new int[elements.length+1];
        for (int i = 0; i < elements.length; i++) {
            newArr[i] = elements[i];
        }
        newArr[newArr.length-1] = element;
        elements = newArr;
    }

    /**
     * 出栈
     */
    public int pop(){
        if(elements.length == 0){
            throw new RuntimeException("栈中元素为空");
        }
        int target = elements[elements.length-1];
        int[] newArr = new int[elements.length-1];
        for (int i = 0; i < newArr.length; i++) {
            newArr[i] = elements[i];
        }
        elements = newArr;
        return target;
    }

    /**
     * 取出栈顶元素
     * @return
     */
    public int peek(){
        if(elements.length == 0){
            throw new RuntimeException("栈中元素为空");
        }
        return elements[elements.length-1];
    }

    /**
     * 判断栈中是否为空
     * @return
     */
    public boolean isEmpty(){
        return elements.length == 0;
    }

    /**
     * 查看栈中元素
     */
    public void show(){
        System.out.println(Arrays.toString(elements));
    }
}

Guess you like

Origin blog.csdn.net/qq_40833790/article/details/90603004
Recommended