class Deque {
constructor() {
this.list = {}
this.count = 0
this.lowestrCount = 0
}
//在雙端隊(duì)列前端添加
addFront(el){
if(this.isEmpty()){
this.addBack(el)
} else if (this.lowestrCount>0){
this.lowestrCount--
this.list[this.lowestrCount] = element
}else {
for (let i =this.count;i >0;i--){
this.list[i]=this.list[i-1]
}
this.count++
this.lowestrCount=0
this.list[0] = el
}
}
//在雙端隊(duì)列后端添加
addBack(el){
this.list[this.count] = element
this.count++
}
//刪除雙端隊(duì)列前端移除第一個(gè)元素
removeFront (){
if (this.isEmpty()) {
return undefined
}
const result = this.list[this.lowestCount]
delete this.list[this.lowestCount]
this.lowestCount++
return result
}
//刪除雙端隊(duì)列后端移除最后一個(gè)元素
removeBack(){
if (this.isEmpty()) {
return undefined
}
const result = this.list[this.count]
delete this.list[this.count]
this.count--
return result
}
//返回雙端隊(duì)列前端第一個(gè)元素
peekFront(){
if (this.isEmpty()) {
return undefined
}
return this.list[this.lowestCount]
}
//返回雙端隊(duì)列后端第一個(gè)元素
peekBack () {
if (this.isEmpty()) {
return undefined
}
return this.list[this.count]
}
//判斷雙端隊(duì)列是不是為空
isEmpty() {
return this.count-this.lowestrCount===0
}
//清空隊(duì)列
clear () {
this.list = {}
this.count = 0
this.lowestCount=0
}
//字符串方法
toString () {
if (this.isEmpty()) {
return ''
}
let str = `${this.list[this.lowestCount]}`
for (let i = this.lowestCount + 1; i < this.count; i++){
str+=`,${this.list[i]}`
}
return str
}
}
JavaScript數(shù)據(jù)結(jié)構(gòu)之雙端隊(duì)列
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)待榔,“玉大人逞壁,你說(shuō)我怎么就攤上這事∪衤啵” “怎么了腌闯?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)雕憔。 經(jīng)常有香客問(wèn)我姿骏,道長(zhǎng),這世上最難降的妖魔是什么橘茉? 我笑而不...
- 正文 為了忘掉前任工腋,我火速辦了婚禮,結(jié)果婚禮上畅卓,老公的妹妹穿的比我還像新娘擅腰。我一直安慰自己,他們只是感情好翁潘,可當(dāng)我...
- 文/花漫 我一把揭開(kāi)白布趁冈。 她就那樣靜靜地躺著,像睡著了一般拜马。 火紅的嫁衣襯著肌膚如雪渗勘。 梳的紋絲不亂的頭發(fā)上,一...
- 那天俩莽,我揣著相機(jī)與錄音旺坠,去河邊找鬼。 笑死扮超,一個(gè)胖子當(dāng)著我的面吹牛取刃,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播出刷,決...
- 文/蒼蘭香墨 我猛地睜開(kāi)眼璧疗,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了馁龟?” 一聲冷哼從身側(cè)響起崩侠,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎坷檩,沒(méi)想到半個(gè)月后却音,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體改抡,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年僧家,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了雀摘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
- 正文 年R本政府宣布匕荸,位于F島的核電站爹谭,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏榛搔。R本人自食惡果不足惜诺凡,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望践惑。 院中可真熱鬧腹泌,春花似錦、人聲如沸尔觉。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)侦铜。三九已至专甩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間钉稍,已是汗流浹背涤躲。 一陣腳步聲響...
- 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像羞秤,于是被迫代替她去往敵國(guó)和親缸托。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 棧(Stack) 棧:又稱為楍埃或堆疊俐镐,是計(jì)算機(jī)科學(xué)中的一種抽象數(shù)據(jù)類型,只允許在有序的線性數(shù)據(jù)集合的一端(稱為堆棧...
- 什么是雙端隊(duì)列哺哼? 雙端隊(duì)列(deque)是指允許兩端都可以進(jìn)行入隊(duì)和出隊(duì)操作的隊(duì)列佩抹,deque 是 “double...
- 一叼风、隊(duì)列的定義 隊(duì)列也是數(shù)據(jù)結(jié)構(gòu)的其中一種,和棧相反的是棍苹。隊(duì)列是只允許在一端進(jìn)行插入无宿,在另一端進(jìn)行刪除的線性表。 ...
- 數(shù)據(jù)結(jié)構(gòu)和算法是計(jì)算機(jī)技術(shù)的基本功之一枢里,北京大學(xué)的課程深入淺出孽鸡,使用Python作為載體簡(jiǎn)化了編程難度。最近瀏覽了...
- 棧 棧:是一種容器,可存入數(shù)據(jù)元素奥洼、訪問(wèn)元素巷疼、刪除元素,它的特點(diǎn)在于只能允許在容器的一端進(jìn)行加入數(shù)據(jù)和輸出數(shù)據(jù)的運(yùn)...