棧的出入js實現 js 實現棧的結構

2021-10-17 05:50:38 字數 586 閱讀 8295

js實現乙個棧的資料結構

首先了解一下什麼是棧,棧是乙個後進先出的一種資料結構,執行起來效率比較高。

對於棧主要包括一些方法,彈出棧pop(),彈出棧頂元素,並刪除該元素;壓入棧push(),向棧中壓入某個方法,棧中的長度加一;讀取棧頂元素peek(),僅讀取不刪除

使用js的構造模式建立棧類,原型進行共享主要方法

**實現如下

(function(root) )(global);

var stack = new stack();

stack.push("liang0");

stack.push("liang1");

stack.push("liang2");

console.log(stack.peek());

console.log(stack.pop());

console.log(stack.peek());

stack.push("liang4");

console.log(stack.peek());

stack.clear();

console.log(stack.peek());

執行結果:

鏈棧的JS實現

官方定義 鏈式棧是一種資料儲存結構,可以通過單鏈表的方式來實現,使用鏈式棧的優點在於它能夠克服用陣列實現的順序棧空間利用率不高的特點,但是需要為每個棧元素分配額外的指標空間用來存放指標域。壓棧 linkstack.prototype.push function el else 退棧 linkstac...

js 實現棧的結構

首先了解一下什麼是棧,棧是乙個後進先出的一種資料結構,執行起來效率比較高。對於棧主要包括一些方法,彈出棧pop 彈出棧頂元素,並刪除該元素 壓入棧push 向棧中壓入某個方法,棧中的長度加一 讀取棧頂元素peek 僅讀取不刪除 使用js的構造模式建立棧類,原型進行共享主要方法 function ro...

JS實現棧結構

簡述 棧,是一種遵從後進先出 lifo,later in first out 原則的有序集合。新新增的元素都儲存在棧的一端,稱作棧頂,另一端叫做棧底。在棧中,新元素都靠近棧頂,舊元素都靠近棧底。說明 首先,先建立乙個類表示棧,並且初始化乙個空陣列,用來儲存棧裡的元素 class stack 接著,給...