當我們談到棧和佇列的時候,就會條件反射想起資料結構。在ecmascript標準中,陣列也是提供了類似於其他資料結構的方法,分別是棧方法和佇列方法。
棧是一種後進先出的資料結構,也就是最新新增的項會被最早移除,如同堆疊烙餅一般。
棧中項的插入(又叫推入)和移除(又叫彈出)只發生在棧的頂部。
提供的棧方法有兩種,分別是push方法和pop方法。
var arr = ;
// push方法
var count = arr.push('a', 'b');
console.log(count); // 2
console.log(arr); // ["a","b"]
count = arr.push('c');
console.log(count); // 3
// pop方法
var item = arr.pop();
console.log(item); // "c"
console.log(arr.length); // 2
複製**
佇列資料結構的訪問規則是先進先出,排在前乙個的比後乙個先出去,就像子彈出膛一般。
插入和移除的操作位置發生在隊伍的頭部。
提供的佇列方法有兩種,分別是unshift方法和shift方法。
var arr = ['a','b','c'];
// unshift方法
var count = arr.unshift('a');
console.log(count); // 4
console.log(arr); // ["a", "a", "b", "c"]
// shift方法
var item = arr.shift();
console.log(item); // "a"
console.log(arr.length); // 3
複製**
JS資料結構 Array陣列
陣列array 建立 1.使用方括號 進行建立和初始化 var arr 建立乙個空陣列 var arr 1,2,3 建立乙個包含數字的陣列 2.使用array建構函式 var arr new array 建立空陣列 var arr new array 1,2,3 建立包含數字的陣列 var arr ...
js 資料結構
樹是電腦科學中經常用到的一種資料結構。樹是一種非線性的資料結構,以分層的方式儲存資料。二叉樹每個節點的子節點不允許超過兩個。乙個父節點的兩個子節點分別稱為左節點和右節點,通過將子節點的個數限定為2,可以寫出高效的程式在樹中插入 查詢和刪除資料。二叉查詢樹 bst 是一種特殊的二叉樹,相對較小的值儲存...
js資料結構
一 堆疊的概念 在計算機領域中,堆疊是兩種資料結構。棧 佇列優先,先進先出 由作業系統自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。堆 先進後出 動態分配的空間 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os 分配方式倒是類似於鍊錶。二 js的...