棧:順序棧

順序棧即棧的底層是通過數(shù)組實現(xiàn)的,這里用到的數(shù)組是之前所實現(xiàn)的動態(tài)數(shù)組http://www.itdecent.cn/p/e8bb88bb0b78

時間復(fù)雜度:
入棧:O(1)
出棧:O(1)

接口類:

public interface Stack<E> {

    int getSize();
    boolean isEmpty();
    void push(E e);
    E pop();
    E peek();

}

實現(xiàn)類:

public class ArrayStack<E> implements Stack<E> {

    Array<E> array = new Array<>();


    @Override
    public int getSize() {
        return array.getSize();
    }

    @Override
    public boolean isEmpty() {
        return array.isEmpty();
    }

    @Override
    public void push(E e) {
       array.addLast(e);
    }

    @Override
    public E pop() {
        return array.removeLast();
    }

    @Override
    public E peek() {
        return array.get(getSize()-1);
    }

    @Override
    public String toString() {

//        StringBuilder res = new StringBuilder();
//
//        for (int i = 0 ; i < array.getSize() ; i++){
//            if (i < array.getSize()-1)
//            res.append(array.get(i)+"->");
//            else res.append(array.get(i));
//        }
//        return res.toString();

        StringBuilder res = new StringBuilder();
        res.append(String.format("Stack: size=%d , capacity = %d\n",array.getSize() ,array.getCapacity()));
        res.append("[");
        for (int i = 0; i < array.getSize() ; i++){
            res.append(array.get(i));
            if(i != array.getSize()-1){
                res.append(",");
            }

        }
        res.append(" top ]");
        return res.toString();
    }
}

其中的Array 是之前所實現(xiàn)的動態(tài)數(shù)組

測試:

public class Main {

    public static void main(String[] args) {
       ArrayStack<Integer> arrayStack = new ArrayStack<>();

       for (int i = 0 ; i < 5 ; i ++){
           arrayStack.push(i);
           System.out.println(arrayStack);
       }

       for (int i = 0 ; i < 5; i++){
           arrayStack.pop();
           System.out.println(arrayStack);
       }
       

    }
}
image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容