基于javascript數(shù)組的棧方法和隊列方法

棧和隊列是我們常見的兩種數(shù)據(jù)結構,今天我們討論的是如何基于javascript數(shù)組來實現(xiàn)這種結構。

棧:簡而言之就是先進后出。



隊列:先進先出


隊列

數(shù)組作為javascript引用類型之一,天然提供了四個方法幫助我們實現(xiàn)棧和隊列的結構。

shift: 從數(shù)組中把第一個元素刪除,并返回被刪除元素的值。
pop:從數(shù)組中把最后一個元素刪除,并返回被刪除元素的值。
unshift:在數(shù)組第一個元素之前增加元素,返回增加后數(shù)組的長度。
push:在數(shù)組最后一個元素之后增加元素,返回增加后數(shù)組的長度。

棧:push + pop

棧插入push

棧插入
    let a = [1,2,3]
    a.push(4)
    console.info(a)

result:[1,2,3,4]

棧刪除pop

棧刪除
    let a = [1, 2, 3]
    a.push(4)
    a.pop()
    console.info(a)

result:[1,2,3]

隊列 unshift + pop

2.png

隊列插入 unshift

    let a = [1, 2, 3]
    a.unshift(4)
    console.info(a)

result:[4,1,2,3]

隊列刪除 pop

    let a = [1, 2, 3]
    a.unshift(4)
    a.pop()
    console.info(a)

result:[4,1,2]

有關棧和隊列的初步實現(xiàn),就到這了。

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

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

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