摘要:移除數(shù)組第一項(xiàng)并返回該項(xiàng)同時(shí)將數(shù)組的長(zhǎng)度減一。簡(jiǎn)單實(shí)現(xiàn)棧使用和結(jié)合實(shí)現(xiàn)簡(jiǎn)單棧簡(jiǎn)單實(shí)現(xiàn)隊(duì)列使用與結(jié)合實(shí)現(xiàn)簡(jiǎn)單隊(duì)列額外補(bǔ)充與用途相反,在數(shù)組前端添加任意個(gè)項(xiàng),并返回新數(shù)組的長(zhǎng)度。
棧和隊(duì)列
棧:LIFO(先進(jìn)后出)一種數(shù)據(jù)結(jié)構(gòu)
隊(duì)列:LILO(先進(jìn)先出)一種數(shù)據(jù)結(jié)構(gòu)
使用的js方法
1.push();可以接收任意數(shù)量的參數(shù),把它們逐個(gè)推進(jìn)隊(duì)尾(數(shù)組末尾),并返回修改后的數(shù)組長(zhǎng)度。
2.pop();從數(shù)組末尾移除最后一項(xiàng),減少數(shù)組的值,返回移除的項(xiàng)。
3.shift();移除數(shù)組第一項(xiàng)并返回該項(xiàng)同時(shí)將數(shù)組的長(zhǎng)度減一。
簡(jiǎn)單實(shí)現(xiàn)棧
使用push()和pop()結(jié)合實(shí)現(xiàn)簡(jiǎn)單棧
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
簡(jiǎn)單實(shí)現(xiàn)隊(duì)列
使用shift()與push()結(jié)合實(shí)現(xiàn)簡(jiǎn)單隊(duì)列
var colors = new Array(); var count = colors.push("red","green"); alert(count);//2 var item = colors.shift(); alert(item);//red alert(colors.length);//1
額外補(bǔ)充
unshift()與shift()用途相反,unshift()在數(shù)組前端添加任意個(gè)項(xiàng),并返回新數(shù)組的長(zhǎng)度。
注意:IE7以及更早版本對(duì)JavaScript的實(shí)現(xiàn)中存在偏差,其unshift()方法總是返回undefined而不是新數(shù)組的長(zhǎng)度。IE8在非兼容模式下會(huì)返回正確的長(zhǎng)度值。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/95523.html
摘要:對(duì)于棧來(lái)說,這個(gè)表尾稱為棧的棧頂,相應(yīng)的表頭稱為棧底。棧和隊(duì)列的區(qū)別棧的插入和刪除操作都是在一端進(jìn)行的,而隊(duì)列的操作卻是在兩端進(jìn)行的。出棧操作出棧操作就是在棧頂取出數(shù)據(jù),棧頂指針隨之下移的操作。 基本概念 棧和隊(duì)列都是動(dòng)態(tài)的集合,在棧中,可以去掉的元素是最近插入的哪一個(gè)。棧實(shí)現(xiàn)了后進(jìn)先出。在隊(duì)列中,可以去掉的元素總是在集合中存在的時(shí)間最長(zhǎng)的那一個(gè)。隊(duì)列實(shí)現(xiàn)了先進(jìn)先出的策略。 棧的官...
摘要:原文地址學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)一棧和隊(duì)列博主博客地址的個(gè)人博客幾乎所有的編程語(yǔ)言都原生支持?jǐn)?shù)組類型,因?yàn)閿?shù)組是最簡(jiǎn)單的內(nèi)存數(shù)據(jù)結(jié)構(gòu)。他們就是棧和隊(duì)列。我們稱作棧頂,而另一端我們稱作棧底。移除棧頂?shù)脑兀瑫r(shí)返回被移除元素。 前言 只要你不計(jì)較得失,人生還有什么不能想法子克服的。 原文地址:學(xué)習(xí)javascript數(shù)據(jù)結(jié)構(gòu)(一)——棧和隊(duì)列 博主博客地址:Damonare的個(gè)人博客 幾乎所有的編程...
摘要:后入先出入棧使用方法,出棧使用方法入棧出棧出站隊(duì)列隊(duì)列是一種特殊的線性表,特殊之處在于它只允許在表的前端進(jìn)行刪除操作,而在表的后端進(jìn)行插入操作,和棧一樣,隊(duì)列是一種操作受限制的線性表。 1.棧(stack) 棧(stack)又名堆棧,它是一種運(yùn)算受限的線性表。其限制是僅允許在表的一端進(jìn)行插入和刪除運(yùn)算。這一端被稱為棧頂,相對(duì)地,把另一端稱為棧底。向一個(gè)棧插入新元素又稱作進(jìn)棧、入?;驂簵?..
摘要:內(nèi)存空間又被分為兩種,棧內(nèi)存與堆內(nèi)存。今天就堆棧隊(duì)列的內(nèi)容就大概說到這里下一篇博客在繼續(xù)說一下,有什么說的不對(duì)或者不足的地方,請(qǐng)大家批評(píng)指正 棧的定義 棧是計(jì)算機(jī)科學(xué)中的一種抽象數(shù)據(jù)類型,只允許在有序的線性數(shù)據(jù)集合的一端(稱為堆棧頂端,英語(yǔ):top)進(jìn)行加入數(shù)據(jù)(英語(yǔ):push)和移除數(shù)據(jù)(英語(yǔ):pop)的運(yùn)算。因而按照后進(jìn)先出(LIFO, Last In First Out)的原理運(yùn)...
摘要:題目使用棧實(shí)現(xiàn)隊(duì)列的下列操作將一個(gè)元素放入隊(duì)列的尾部。用棧實(shí)現(xiàn)隊(duì)列,可以用兩個(gè)棧完成題解。入隊(duì)列時(shí)用存入節(jié)點(diǎn),出隊(duì)列時(shí)內(nèi)節(jié)點(diǎn)順序出棧壓入中。這類編程語(yǔ)言就壓根不需要用隊(duì)列實(shí)現(xiàn)?;蛴脳?shí)現(xiàn)隊(duì)列這種問題,因?yàn)闂:完?duì)列本身就必須借助實(shí)現(xiàn)。 題目: 使用棧實(shí)現(xiàn)隊(duì)列的下列操作: push(x) -- 將一個(gè)元素放入隊(duì)列的尾部。 pop() -- 從隊(duì)列首部移除元素。 peek() -- 返回隊(duì)...
閱讀 2048·2019-08-30 15:52
閱讀 2440·2019-08-29 18:37
閱讀 790·2019-08-29 12:33
閱讀 2839·2019-08-29 11:04
閱讀 1523·2019-08-27 10:57
閱讀 2092·2019-08-26 13:38
閱讀 2759·2019-08-26 12:25
閱讀 2445·2019-08-26 12:23