91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JS中數據結構之棧的示例分析

發布時間:2021-08-03 09:28:02 來源:億速云 閱讀:108 作者:小新 欄目:web開發

這篇文章給大家分享的是有關JS中數據結構之棧的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

棧是一種高效的數據結構,因為數據只能在棧頂添加或刪除,所以這樣的操作很快,而且容易實現。

棧是一種特殊的列表,棧內的元素只能通過列表的一端訪問,這一端稱為棧頂。棧被稱為一種后入先出(LIFO,last-in-first-out)的數據結構。由于棧具有后入先出的特點,所以任何不在棧頂的元素都無法訪問。為了得到棧底的元 素,必須先拿掉上面的元素。

棧的實現

用數組 dataStore 保存棧內元素,構造函數將其初始化為一個空數組。變量 top 記錄 棧頂位置,被構造函數初始化為 0,表示棧頂對應數組的起始位置 0。如果有元素被壓入 棧,該變量的值將隨之變化。

function Stack() {
  this.dataStore = [];
  this.top = 0;
  this.push = push;
  this.pop = pop;
  this.peek = peek;
}

push() 方法:當向棧中壓入一個新元素時,需要將其保存在數組中變量 top 所對應的位置,然后將 top 值加 1,讓其指向數組中下一個空位置。

function push(element) {
  this.dataStore[this.top++] = element;
}

pop() 方法:與 push() 方法相反——它返回棧頂元素,同時將變量 top 的值減 1

function pop() {
  return this.dataStore[--this.top];
}

peek() 方法:返回數組的第 top-1 個位置的元素,即棧頂元素。如果對一個空棧調用 peek() 方法,結果為 undefined。這是因為棧是空的,棧頂沒有任何 元素。

pop() 方法雖然可以訪問棧頂的元素,但是調用該方法后,棧頂元素也從棧中被永久性地刪除了。peek() 方法則只返回棧頂元素,而不刪除它。

function peek() {
  return this.dataStore[this.top-1];
}

length() 方法:通過返回變量 top 值的方式返回棧 內的元素個數

function length() {
  return this.top;
}

clear()方法:將變量 top 的值設為 0,清空棧

function clear() {
  this.top = 0;
}

感謝各位的閱讀!關于“JS中數據結構之棧的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

js
AI

双牌县| 五家渠市| 富顺县| 留坝县| 锡林浩特市| 洪江市| 当雄县| 凤山县| 华容县| 霍州市| 保山市| 雅江县| 龙口市| 岗巴县| 横峰县| 玉门市| 禹城市| 吴旗县| 邢台县| 象州县| 清涧县| 山阴县| 石狮市| 梓潼县| 田林县| 西林县| 东安县| 卢氏县| 陆河县| 郓城县| 南陵县| 睢宁县| 贵德县| 长顺县| 来安县| 赞皇县| 青河县| 卫辉市| 东宁县| 那曲县| 和龙市|