JavaScript棧
棧是一種遵從後進先出(LIFO)原則的有序集合。
新新增的或待刪除的元素都儲存在棧的末尾,稱作棧頂,另一端就叫棧底。
我們在這裡先定義一個棧:
function Stack(){ let items = [];//儲存棧 //新增一個或多個元素到棧頂 this.push = function(element){ items.push(element) } //移除棧頂的元素,並且返回被移除的元素 this.pop = function(){ return items.pop()//pop方法有返回值 } //返回棧頂的元素,不做任何操作 this.peek = function(){ return items[items.length-1]; } //檢測棧裡是否有元素,沒有true,有false this.isEmpty = function(){ return items.length === 0; } //清空棧 this.clear = function(){ items = [] } //返回棧裡的元素個數 this.size = function(){ return items.length; } }
在上面我們已經定義好了一個棧,現在我們來呼叫一下這個棧:
let stack = new Stack(); console.log("stack棧是否為空:"+stack.isEmpty());//true stack.push(5);//(壓棧) stack.push(10); stack.push(15); stack.push(20); console.log("stack棧頂元素:"+stack.peek())//20 console.log("stack棧長度:"+stack.size())//4 stack.pop();//刪除棧頂元素(出棧) console.log("stack棧頂元素:"+stack.peek())//15 console.log("stack棧是否為空:"+stack.isEmpty());//false stack.clear(); console.log("stack棧是否為空:"+stack.isEmpty());//true
通過上述的方法,我們就能夠比較明顯的看出來棧的效果啦
相關文章
- JavaScript之呼叫棧JavaScript
- 全棧式JavaScript全棧JavaScript
- JavaScript理解堆和棧JavaScript
- javascript資料結構 -- 棧JavaScript資料結構
- javascript中的棧結構JavaScript
- JavaScript資料結構之-棧JavaScript資料結構
- JavaScript資料結構之棧JavaScript資料結構
- JavaScript資料結構02 - 棧JavaScript資料結構
- 全棧必備 JavaScript基礎全棧JavaScript
- 用JavaScript實現棧與佇列JavaScript佇列
- [譯] 如何編寫全棧 JavaScript 應用全棧JavaScript
- JavaScript執行環境與執行棧JavaScript
- JavaScript 資料結構之隊棧互搏JavaScript資料結構
- JavaScript深入之執行上下文棧JavaScript
- JavaScript 全棧工程師培訓教程JavaScript全棧工程師
- JavaScript 深入之執行上下文棧JavaScript
- 全棧 JavaScript 程式設計師的崛起全棧JavaScript程式設計師
- javascript資料結構與演算法-棧JavaScript資料結構演算法
- Python全棧Web(JavaScript函式、陣列)Python全棧WebJavaScript函式陣列
- 如何用JavaScript手動實現一個棧JavaScript
- javascript資料結構與演算法---棧JavaScript資料結構演算法
- 2016 年 JavaScript 技術棧展望JavaScript
- 2016年JavaScript技術棧展望JavaScript
- Stack and Queue in JavaScript(Javascript中的資料結構之棧和佇列)JavaScript資料結構佇列
- JavaScript資料結構之陣列棧佇列JavaScript資料結構陣列佇列
- JavaScript 如何工作系列: 引擎、執行時、呼叫棧概述JavaScript
- JavaScript中記憶體使用規則--堆和棧JavaScript記憶體
- 1-1 JavaScript執行環境 執行棧JavaScript
- 資料結構與演算法JavaScript (一) :棧資料結構演算法JavaScript
- JavaScript 的資料結構和演算法 - 棧篇JavaScript資料結構演算法
- 學習JavaScript資料結構(一)——棧和佇列JavaScript資料結構佇列
- 全棧技巧:從Javascript跳轉到Java能有多難?全棧JavaScript
- JavaScript 中的執行上下文和執行棧JavaScript
- 【譯】理解 Javascript 執行上下文和執行棧JavaScript
- javascript的資料結構快速學-棧和佇列JavaScript資料結構佇列
- 研讀JavaScript全棧開發員:雲時代的奇蹟JavaScript全棧
- 深入理解JavaScript執行上下文和執行棧JavaScript
- 深入理解 JavaScript 執行上下文和執行棧JavaScript