中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何理解java數據結構的棧

發布時間:2021-10-18 10:39:25 來源:億速云 閱讀:104 作者:柒染 欄目:大數據

這期內容當中小編將會給大家帶來有關如何理解java數據結構的棧,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

棧是先進后出的一個數據結構,就跟子彈夾一樣。我當時聽到棧時:以為棧是java的底層。后來才知道不是,它只是一個概念,你可以通過任何你想到的方式去實現這個先進后出的概念。棧的底層是用數組實現的,下面的例子,大概模擬了java的實現方式。arraylist集合的底層同樣也是用數組實現的。

public class MyStack {

    int[] elements;
    
    public MyStack() {
        elements = new int[0];
    }
    
    //添加元素其實就是在數組中加入元素而已,重點是取值
    public void push(int ele) {
        //數組長度加1,你可以按照倍數進行擴容,java中好像是按照1倍進行擴容的
        int[] newArr = new int[elements.length+1];
        //把原數組中的元素復制到新的數組中
        for(int i=0;i<elements.length;i++) {
            newArr[i] = elements[i];
        }
        //將新元素加入到最后
        newArr[elements.length]=ele;
        //替換為新數組
        elements = newArr;
    }
    
    //取值,棧是先進后出,所以先去最后放入的元素,對數組來說,就是下標最大的那個數
    public int pop() {
        //取出數組的最后一個元素
        int ele = elements[elements.length-1];
        //創建新的數組
        int[] newArr = new int[elements.length-1];
        //把原數組中的元素復制到新的數組中
        for(int i=0;i<elements.length-1;i++) {
            newArr[i] = elements[i];
        }
        //替換為新數組
        elements = newArr;
        return ele;
    }
}

上述就是小編為大家分享的如何理解java數據結構的棧了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

佛教| 玉山县| 康保县| 萨迦县| 友谊县| 恩平市| 长子县| 沁阳市| 平南县| 郧西县| 建平县| 连南| 永寿县| 神木县| 汕尾市| 渭南市| 秭归县| 宿松县| 鄯善县| 丰都县| 镶黄旗| 柳州市| 壶关县| 成都市| 隆昌县| 临漳县| 辽阳县| 临颍县| 靖西县| 临洮县| 横山县| 荔浦县| 吉安县| 大余县| 饶阳县| 大化| 石屏县| 新兴县| 南丰县| 原平市| 汽车|