亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

JavaScript棧和隊列相關操作與實現方法詳解

2024-05-06 16:47:03
字體:
來源:轉載
供稿:網友

本文實例講述了JavaScript棧和隊列相關操作與實現方法。分享給大家供大家參考,具體如下:

一、棧的介紹

棧就是和列表類似的一種數據結構,數據只能在棧頂添加或者刪除。棧是一種特殊的列表,棧內的元素只能通過列表的一端訪問,成為棧頂。棧具有后進先出的特點,所以任何不在棧頂的元素都無法訪問。

后進先出(LIFO,last-in-first-out)的數據結構。

對棧的操作

1.對棧的兩種主要操作為將一個元素壓入棧和將一個元素彈出棧。

入棧:push();
出棧:pop();

2.預覽棧頂的元素peek();

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

對棧的實現

定義stack類的構造函數:

function Stack(){ this.dataStore=[];//數組dataStore保存棧內元素,初始化為空數組 this.top=0; //top為棧頂位置,被構造函數初始化為0,表示棧頂對應數組的起始位置0 this.push=push; this.pop=pop; this.peek=peek;}

實現push()方法:

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

實現pop()方法:

function pop(element){ return this.dataStore[--this.top]; //pop方法與push方法相反,它返回棧頂元素,同時將變量top的值減1}

實現peek()方法:

function peek(element){ return this.dataStore[this.top-1]; //peek方法返回數組的第top-1個位置的元素,即棧頂元素。}

如果對一個空棧調用peek()方法,結果為undefined,因為棧是空的,棧頂沒有任何元素。

實現length()

需要知道棧內存儲了多少元素,length()方法通過返回變量top值得方法返回棧內的元素個數。

function length(){ return this.top();}

實現clear()

clear()將變量top的值設置為0,清空一個棧:

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

總結:Stack類

function stack(){ this.dataStore=[]; this.top=0; this.push=push; this.pop=pop; this.peek=peek; this.clear=clear; this.length=length;}function push(element){ this.dataStore[this.top++]=element;}function peek(){ return this.dataStore[this.top-1];}function pop(){ return this.dataStore[--this.top];}function clear(){ this.top=0;}function length(){ return this.top;}

二、隊列

隊列是一種列表,隊列智能在隊尾插入元素,在隊首刪除元素。隊列用于存儲按順序排列的數據,先進先出。

對隊列的操作

隊列主要兩種操作,入隊和出隊,入隊是在隊尾插入新元素,出隊是刪除隊首的元素。另一種是讀取隊頭的元素,peek();

push()在數組末尾添加元素

names=[];names.push("hling");names.push("aling");print(names); //顯示hling,aling

shift()刪除數組中第一個元素

names.shift();print(names); //顯示aling

定義Queue

function Queue(){ this.dataStore=[]; this.enqueue=enqueue; this.dequeue=dequeue; this.front=front; this.back=back; this.toString=toString; this.empty=empty;}

enqueue()向隊尾添加一個元素

function enqueue(element){ this.dataStore.push(element);}

dequeue()向隊尾添加一個元素

function dequeue(element){ return this.dataStore.shift(element);}

讀取隊首和隊尾的元素

function front(){ return this.dataStore[0];}function back(){ return this.dataStore[this.dataStore.length-1];}

toString()顯示隊列內的所有元素

function toString(){ var retStr=""; for(var i=0;i<this.dataStore.length;i++){  retStr+=this.dataStore[i]+"/n"; } return retStr;

empty()方法盤對隊列是否為空

function empty(){ if(this.dataStore.length==0){  return true; }else{  return false; }}

**Queue隊列的類

function Queue(){ this.dataStore=[]; this.enqueue=enqueue; this.dequeue=dequeue; this.front=front; this.back=back; this.toString=toString; this.empty=empty;}function enqueue(element){ this.dataStore.push(element);}function dequeue(element){ return this.dataStore.shift(element);}function front(){ return this.dataStore[0];}function back(){ return this.dataStore[this.dataStore.length-1];}function toString(){ var retStr=""; for(var i=0;i<this.dataStore.length;i++){  retStr+=this.dataStore[i]+"/n"; }return retStr;function empty(){ if(this.dataStore.length==0){  return true; }else{  return false; }}

希望本文所述對大家JavaScript程序設計有所幫助。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲高清在线观看| 久久99久久久久久久噜噜| 精品伊人久久97| 最近的2019中文字幕免费一页| 日韩精品免费综合视频在线播放| 亚洲免费高清视频| 97婷婷涩涩精品一区| 亚洲电影免费观看高清完整版在线| 91高清免费在线观看| 欧美视频免费在线| 久久99久久亚洲国产| 精品久久久久久久久久国产| 日韩网站免费观看高清| 中文字幕日韩有码| 亚洲国产一区自拍| 久久理论片午夜琪琪电影网| 91精品久久久久久久久青青| 国产aⅴ夜夜欢一区二区三区| 久久精品国产欧美亚洲人人爽| 日韩大片免费观看视频播放| 日韩精品一区二区视频| 欧美极品少妇xxxxⅹ裸体艺术| 91视频国产精品| 欧美中文字幕视频| 亚洲国产精品久久精品怡红院| 日韩欧美在线字幕| 九九热这里只有精品6| 欧美日韩美女在线| 日本免费一区二区三区视频观看| 亚洲另类激情图| 成人春色激情网| 国产精品视频导航| 精品女同一区二区三区在线播放| 精品国产一区二区三区久久久| 亚洲精品98久久久久久中文字幕| 欧美最猛性xxxxx(亚洲精品)| 国产精品久久久久久亚洲调教| 波霸ol色综合久久| 亚洲аv电影天堂网| 亚洲字幕在线观看| 欧美日韩成人在线播放| 亚洲国产日韩欧美在线动漫| 国产精品9999| 国产日韩精品综合网站| 日韩av手机在线看| 亚洲第一福利在线观看| 亚洲一区亚洲二区亚洲三区| 免费av在线一区| 欧美日韩激情美女| 欧美日韩亚洲精品一区二区三区| 欧美日韩免费在线| 国产精品入口日韩视频大尺度| 亚洲一区二区三区毛片| 欧美国产日韩二区| 国产精品免费福利| 欧美—级a级欧美特级ar全黄| 亚洲www在线| 一本一本久久a久久精品综合小说| 日韩在线视频一区| 成人一区二区电影| 668精品在线视频| 91精品国产网站| 日韩中文字幕在线精品| 亚洲精品720p| 久久福利视频网| 91av在线国产| 国内免费精品永久在线视频| 国产脚交av在线一区二区| 中文字幕日本欧美| 久久九九国产精品怡红院| 日韩精品免费在线| 欧美亚洲成人网| 亚洲国产一区二区三区四区| 一区二区三区无码高清视频| 欧美最猛性xxxxx(亚洲精品)| 欧美精品成人在线| 国产成人精品优优av| 国产成人精品在线播放| 欧美精品videosex性欧美| 亚洲精品一区中文字幕乱码| 亚洲欧洲视频在线| 国产精品嫩草视频| 亚洲精品国偷自产在线99热| 欧美在线观看网站| 97碰碰碰免费色视频| 欧美精品九九久久| 国产欧美日韩综合精品| 欧美日韩国产成人| 国产欧美一区二区| 欧美在线一区二区三区四| 国产精品久久久久久久久借妻| 亚洲欧美一区二区三区久久| 最近2019免费中文字幕视频三| 韩国19禁主播vip福利视频| 91精品国产91久久久久久吃药| 日韩av影片在线观看| 亚洲精品视频久久| 中文字幕日韩在线视频| 国产一区二区三区免费视频| 欧美性猛交xxxx久久久| 日韩欧美一区二区三区久久| 中文字幕在线看视频国产欧美在线看完整| 成人激情在线播放| 亚洲a一级视频| 欧美大成色www永久网站婷| 久久久噜噜噜久久| 欧美精品午夜视频| 日韩精品久久久久久福利| 色青青草原桃花久久综合| 国产精品久久久久9999| 亚洲成人免费网站| 久久精品色欧美aⅴ一区二区| 欧美精品免费在线观看| 亚洲无亚洲人成网站77777| 精品欧美激情精品一区| 国产精品永久免费在线| 色综合久久久久久中文网| 欧美激情乱人伦| 亚洲国产成人在线播放| 成人黄在线观看| 亚洲国产精品久久精品怡红院| 亚洲乱亚洲乱妇无码| 成人精品一区二区三区| 日本午夜精品理论片a级appf发布| 色偷偷偷亚洲综合网另类| 久久久精品亚洲| 97超级碰碰碰| 91沈先生在线观看| 91精品视频免费观看| 在线成人一区二区| 91在线视频成人| 国内精品久久久| 亚洲女人天堂色在线7777| 亚洲欧美激情精品一区二区| 欧美精品免费在线观看| 亚洲毛茸茸少妇高潮呻吟| 少妇av一区二区三区| 欧美成人免费观看| 亚洲影院污污.| 亚洲美女免费精品视频在线观看| 97视频在线播放| 精品偷拍各种wc美女嘘嘘| 国产精品最新在线观看| 色伦专区97中文字幕| 国产人妖伪娘一区91| 欧美人在线观看| xxx成人少妇69| 91精品国产91久久久久久| 中文字幕日韩欧美在线视频| 欧美在线国产精品| 国产做受高潮69| 国产精品揄拍500视频| 成人亚洲激情网| 亚洲缚视频在线观看| 在线午夜精品自拍| 亚洲欧美在线播放| 久久精品夜夜夜夜夜久久| 欧美福利在线观看| 亚洲字幕一区二区| 欧美成人精品三级在线观看| 国产精品亚洲视频在线观看| 日韩av在线免费观看一区| 欧美野外wwwxxx| 国产福利精品在线|