在項目中,對數組的操作還是比較常見的,有時候,我們需要模拟棧和隊列的特性才能實作需求,這裡記錄一下這個知識點。
棧(stack)又名堆棧,它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和删除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。向一個棧插入新元素又稱作進棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素;從一個棧删除元素又稱作出棧或退棧,它是把棧頂元素删除掉,使其相鄰的元素成為新的棧頂元素。
棧是限定僅在表頭進行插入和删除操作的線性表。
就好比:一個死胡同,前面是“此路不通”,隻有一個入口,如果一隊人進入,隻能隊尾變對首出去。

在js中如何模拟?
結果
隊列是一種特殊的線性表,特殊之處在于它隻允許在表的前端(front)進行删除操作,而在表的後端(rear)進行插入操作,和棧一樣,隊列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行删除操作的端稱為隊頭。
就好比:現在這個胡同不是死胡同了,隊伍可以直接通過。
首先要明白棧和隊列的差別,然後要知道js中,入棧:push 出棧:pop方法,隊列:ushift和pop方法。
部落格位址:
<a href="http://www.cnblogs.com/wolf-sun">http://www.cnblogs.com/wolf-sun/</a>
部落格版權:
本文以學習、研究和分享為主,歡迎轉載,但必須在文章頁面明顯位置給出原文連接配接。
如果文中有不妥或者錯誤的地方還望高手的你指出,以免誤人子弟。如果覺得本文對你有所幫助不如【推薦】一下!如果你有更好的建議,不如留言一起讨論,共同進步!
再次感謝您耐心的讀完本篇文章。http://www.cnblogs.com/wolf-sun/p/4693736.html