在js當中跟其他語言不一樣,js當中沒有專門的棧和隊列的類型,所有的棧和隊列都是用數組模擬出來的
棧:一端封閉,只能從另一端進出的數組這種特殊的數組就叫做棧
FIRST IN LAST OUT 先進的最后出
棧的特點:
何時使用:如果希望永遠保持使用最新的元素,就要使用棧結構。
如何使用:
1、從結尾出入棧
入棧(壓棧):arr.push(值)
出棧(彈棧):var last = arr.pop()
特點:無論是出棧或者入棧都不影響剩余元素的位置
2、從開頭出入棧,
入棧:arr.unshift(值);
出棧:var first = arr.shirt()
缺點:每次出入棧都會導致其余元素的位置改變
下面呢咱們來測試這樣一個事情 push 和 unshift能不能一次壓入多個數值呢?能不能把數組給我打散了在壓入呢?


不會打散,push和unshift都不會打散數組參數,它壓了個套間進去。再看能不能壓兩個元素呢?


這個地方可以是多個值,但是入棧不支持數組參數
完整例子:(注意push 和 unsfitf的區別)


主要看咱們的執行順序。
隊列:從結尾進入,從開頭出來的數組。
First IN FIRST OUT
何時使用:希望按照先來后到的順序依次使用元素時候
1、入隊列(排隊):arr.push();
2、出隊列:var first = arr.shift();
