成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

JavaScript的數(shù)據(jù)結(jié)構(gòu)與算法(一) —— 棧

quietin / 651人閱讀

摘要:棧是一種遵從后進(jìn)先出原則的有序集合。新添加的或待刪除的元素都保存在棧的末尾。稱作棧頂,另一端就叫棧底。在棧里,新元素都靠近棧頂,舊元素都靠近棧底。提供可操作的方法入棧出棧,但是會(huì)移掉棧中的數(shù)據(jù)。

是一種遵從后進(jìn)先出(LIFO)原則的有序集合。新添加的或待刪除的元素都保存在棧的末尾。稱作棧頂,另一端就叫棧底。在棧里,新元素都靠近棧頂,舊元素都靠近棧底。

javascript提供可操作的方法, 入棧 *push*, 出棧 pop,但是pop會(huì)移掉棧中的數(shù)據(jù)。

讓我們來(lái)用js數(shù)組的方法,來(lái)簡(jiǎn)單實(shí)現(xiàn)一個(gè)棧類:

peek(): 查看棧頂元素

clear(): 實(shí)現(xiàn)一個(gè)清理方法

size(): 棧內(nèi)元素總量查找

isEmpty(): 判斷棧是否為空

代碼如下:

function Stack() {
  var items = [];
  this.push = function(element){//添加一個(gè)(或幾個(gè))新元素到棧頂
    items.push(element);
  };
  this.pop = function(){//移除棧頂?shù)脑?,同時(shí)返回被移除元素
    return items.pop();
  };
  this.peek = function(){//返回棧頂?shù)脑兀⒉粚?duì)棧做任何修改
    return items[items.length-1];
  };
  this.isEmpty = function(){//如果棧內(nèi)沒(méi)有任何元素就返回true,否則返回false
    return items.length == 0;
  };
  this.size = function(){//返回棧里的元素個(gè)數(shù)
    return items.length;
  };
  this.clear = function(){//移除棧里的所有元素
    items = [];
  };
  this.print = function(){//打印
    console.log(items.toString());
  };
  this.toString = function(){
    return items.toString();
  };
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/89256.html

相關(guān)文章

  • 學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)算法):隊(duì)列

    摘要:之?dāng)?shù)組操作接下來(lái)就是數(shù)據(jù)結(jié)構(gòu)的第一部分,棧。以字符串顯示棧中所有內(nèi)容方法的實(shí)現(xiàn)說(shuō)明需要往棧中添加新元素,元素位置在隊(duì)列的末尾。的前端樂(lè)園原文鏈接寒假前端學(xué)習(xí)學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法,棧與隊(duì)列 本系列的第一篇文章: 學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)與算法(一),棧與隊(duì)列第二篇文章:學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)與算法(二):鏈表第三篇文章:學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)與算法(三):集合第...

    Flink_China 評(píng)論0 收藏0
  • CSS技巧 - 收藏集 - 掘金

    摘要:筆者作為一位,將工作以來(lái)用到的各種優(yōu)秀資料神器及框架整理在此,畢竟好記性不如爛鍵盤,此前端知識(shí)點(diǎn)大百科全書(shū)前端掘金,,不定期更新技巧前端掘金技巧,偶爾更新。計(jì)算數(shù)組的極值技巧使你的更加專業(yè)前端掘金一個(gè)幫你提升技巧的收藏集。 CSS 樣式畫(huà)各種圖形 - 前端 - 掘金下面是一些我在 CSS 中經(jīng)常用到的圖案,還有一些是在css-tricks看到的。記錄一下,以后會(huì)用到。會(huì)持續(xù)更新… 一、...

    Jonathan Shieber 評(píng)論0 收藏0
  • CSS技巧 - 收藏集 - 掘金

    摘要:筆者作為一位,將工作以來(lái)用到的各種優(yōu)秀資料神器及框架整理在此,畢竟好記性不如爛鍵盤,此前端知識(shí)點(diǎn)大百科全書(shū)前端掘金,,不定期更新技巧前端掘金技巧,偶爾更新。計(jì)算數(shù)組的極值技巧使你的更加專業(yè)前端掘金一個(gè)幫你提升技巧的收藏集。 CSS 樣式畫(huà)各種圖形 - 前端 - 掘金下面是一些我在 CSS 中經(jīng)常用到的圖案,還有一些是在css-tricks看到的。記錄一下,以后會(huì)用到。會(huì)持續(xù)更新… 一、...

    SHERlocked93 評(píng)論0 收藏0
  • JavaScript 數(shù)據(jù)結(jié)構(gòu)算法之美 - 內(nèi)存堆內(nèi)存 、淺拷貝深拷貝

    摘要:棧內(nèi)存與堆內(nèi)存淺拷貝與深拷貝,可以說(shuō)是前端程序員的內(nèi)功,要知其然,知其所以然。棧內(nèi)存與堆內(nèi)存中的變量分為基本類型和引用類型。 showImg(https://segmentfault.com/img/bVbuvnj?w=900&h=250); 前言 想寫好前端,先練好內(nèi)功。 棧內(nèi)存與堆內(nèi)存 、淺拷貝與深拷貝,可以說(shuō)是前端程序員的內(nèi)功,要知其然,知其所以然。 筆者寫的 JavaScrip...

    dailybird 評(píng)論0 收藏0
  • Javascript數(shù)據(jù)結(jié)構(gòu)算法(三)

    摘要:保護(hù)數(shù)據(jù)結(jié)構(gòu)內(nèi)部元素下劃線命名約定這只是一種約定,只能依賴于開(kāi)發(fā)人員具備的常識(shí)用的限定作用于實(shí)現(xiàn)類實(shí)現(xiàn)了假的私有屬性,雖然基本類型不可變,但由于新增的方法仍然能取到所有屬性,而且是數(shù)組的形式,但我們操作的是棧,不應(yīng)該出現(xiàn)這種行為。 棧是一種遵循后進(jìn)先出(ILFO)原則的有序集合,新添加或待刪除的元素都保存在棧的同一段,稱為棧頂,另一端就叫棧底。現(xiàn)實(shí)中很多例子采用了這種數(shù)據(jù)結(jié)構(gòu),比如一摞...

    kohoh_ 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<