摘要:移除數組第一項并返回該項同時將數組的長度減一。簡單實現棧使用和結合實現簡單棧簡單實現隊列使用與結合實現簡單隊列額外補充與用途相反,在數組前端添加任意個項,并返回新數組的長度。
棧和隊列
棧:LIFO(先進后出)一種數據結構
隊列:LILO(先進先出)一種數據結構
使用的js方法
1.push();可以接收任意數量的參數,把它們逐個推進隊尾(數組末尾),并返回修改后的數組長度。
2.pop();從數組末尾移除最后一項,減少數組的值,返回移除的項。
3.shift();移除數組第一項并返回該項同時將數組的長度減一。
簡單實現棧
使用push()和pop()結合實現簡單棧
var colors = new Array(); var count = colors.push("red","white","blue"); alert(count);//3 var item = colors.pop(); alert(item);//blue alert(colors.length);//2
簡單實現隊列
使用shift()與push()結合實現簡單隊列
var colors = new Array(); var count = colors.push("red","green"); alert(count);//2 var item = colors.shift(); alert(item);//red alert(colors.length);//1
額外補充
unshift()與shift()用途相反,unshift()在數組前端添加任意個項,并返回新數組的長度。
注意:IE7以及更早版本對JavaScript的實現中存在偏差,其unshift()方法總是返回undefined而不是新數組的長度。IE8在非兼容模式下會返回正確的長度值。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://www.ezyhdfw.cn/yun/95523.html
摘要:對于棧來說,這個表尾稱為棧的棧頂,相應的表頭稱為棧底。棧和隊列的區(qū)別棧的插入和刪除操作都是在一端進行的,而隊列的操作卻是在兩端進行的。出棧操作出棧操作就是在棧頂取出數據,棧頂指針隨之下移的操作。 基本概念 棧和隊列都是動態(tài)的集合,在棧中,可以去掉的元素是最近插入的哪一個。棧實現了后進先出。在隊列中,可以去掉的元素總是在集合中存在的時間最長的那一個。隊列實現了先進先出的策略。 棧的官...
摘要:原文地址學習數據結構一棧和隊列博主博客地址的個人博客幾乎所有的編程語言都原生支持數組類型,因為數組是最簡單的內存數據結構。他們就是棧和隊列。我們稱作棧頂,而另一端我們稱作棧底。移除棧頂的元素,同時返回被移除元素。 前言 只要你不計較得失,人生還有什么不能想法子克服的。 原文地址:學習javascript數據結構(一)——棧和隊列 博主博客地址:Damonare的個人博客 幾乎所有的編程...
摘要:后入先出入棧使用方法,出棧使用方法入棧出棧出站隊列隊列是一種特殊的線性表,特殊之處在于它只允許在表的前端進行刪除操作,而在表的后端進行插入操作,和棧一樣,隊列是一種操作受限制的線性表。 1.棧(stack) 棧(stack)又名堆棧,它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。向一個棧插入新元素又稱作進棧、入?;驂簵?..
摘要:題目使用棧實現隊列的下列操作將一個元素放入隊列的尾部。用棧實現隊列,可以用兩個棧完成題解。入隊列時用存入節(jié)點,出隊列時內節(jié)點順序出棧壓入中。這類編程語言就壓根不需要用隊列實現?;蛴脳崿F隊列這種問題,因為棧和隊列本身就必須借助實現。 題目: 使用棧實現隊列的下列操作: push(x) -- 將一個元素放入隊列的尾部。 pop() -- 從隊列首部移除元素。 peek() -- 返回隊...
閱讀 2132·2019-08-30 15:52
閱讀 2507·2019-08-29 18:37
閱讀 866·2019-08-29 12:33
閱讀 2909·2019-08-29 11:04
閱讀 1637·2019-08-27 10:57
閱讀 2160·2019-08-26 13:38
閱讀 2834·2019-08-26 12:25
閱讀 2521·2019-08-26 12:23