亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

如何理解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

四子王旗| 库尔勒市| 民丰县| 高唐县| 平舆县| 桓台县| 绍兴县| 陵川县| 北海市| 翁牛特旗| 新田县| 敖汉旗| 贵港市| 青河县| 湾仔区| 剑河县| 军事| 深水埗区| 延安市| 隆林| 蓬安县| 白玉县| 天门市| 高唐县| 扬州市| 海原县| 米易县| 嵊泗县| 同心县| 济南市| 孝义市| 合作市| 淮南市| 澳门| 望江县| 鹿泉市| 江永县| 五台县| 紫金县| 浑源县| 耒阳市|