數據結構之棧的定義及構造函數


數據結構之棧定義及構造函數

  1. 棧的定義

    • 棧是一種線性數據結構,棧的特征是數據的插入和刪除只能通過一端來實現,這一端稱為“棧頂”,相應的另一端稱為“棧底”;另外其還有先進后出,后進先出的特征。
    • 棧是一種高效的數據結構,因為數據只能在棧的頂端添加或者刪除,所以這樣的操作很快而且容易實現。
    • 說到線性結構,得先了解一下數據的邏輯結構,數據的邏輯結構分為線性結構、集合結構、樹形結構和圖形結構,如下圖所示,棧是一種特殊的線性表,是線性結構的一種。
  2. JavaScript => 定義棧結構的構造函數 (node環境)

module.exports = function Stack() {
	// 初始化棧倉庫
	const arr = []
	// 壓棧
	this.push = item => arr.push(item)
	// 彈棧
	this.pop = () => arr.pop()
	// 返回棧頂元素
	this.top = () => arr[arr.length - 1]
	// 棧的大小
	this.size = () => arr.length
	// 棧是否為空
	this.isEmpty = () => arr.length === 0
	// 清空棧
	this.clear = () => arr.splice(0, arr.length)
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM