JS ES6新語法 實現資料結構 雙端佇列

2021-09-27 09:51:28 字數 2126 閱讀 4251

雙端佇列:

概念:雙端佇列是一種把佇列和棧結合的資料結構。可以從兩端進行增減項。

常見應用:儲存撤銷操作。

可用方法:

實現:

//使用物件模擬雙端佇列

class deque ; //佇列物件

this.lowestcount = 0; //頭部項的下標值

this.count = 0; //佇列長度計數器(注意:this.count位置上永遠是無值的。佇列不為空,它的前一位就為佇列尾部項);

}isempty()

clear() ;

this.lowestcount = 0;

this.count = 0;

}size()

addfront(element)

if (this.lowestcount === 0)

this.items[0] = element;

this.count++;

} else

}addback(element)

removefront()

let w = this.items[this.lowestcount];

delete this.items[this.lowestcount];

this.lowestcount++;

return w;

}removeback()

let w = this.items[this.count - 1];

delete this.items[this.count - 1];

this.count--;

return w;

}peekfront()

peekback()

tostring()

let str = this.items[this.lowestcount];

for (let i = this.lowestcount+1; i < this.count; i++) ,$`;

}return str;

}}

雙端佇列的使用:

//雙端佇列的使用

let mydeque = new deque();

console.log(mydeque.size()); //0

mydeque.addfront(1); //在頭部新增元素

mydeque.addfront(2);

console.log(mydeque.size()); //2

console.log(mydeque.tostring()); //2,1

console.log(mydeque.isempty()); //false

mydeque.addfront(6);

console.log(mydeque.size()); //3

console.log(mydeque.tostring()); //6,2,1

mydeque.addback(8);

mydeque.addback(3);

console.log(mydeque.size()); //5

console.log(mydeque.tostring()); //6,2,1,8,3

mydeque.removefront();

console.log(mydeque.size()); //4

console.log(mydeque.tostring()); //2,1,8,3

mydeque.removeback();

console.log(mydeque.size()); //3

console.log(mydeque.tostring()); //2,1,8

console.log(mydeque.peekfront()); //檢視頭項 //2

console.log(mydeque.peekback()); //檢視尾項 //8

mydeque.clear(); //清空

console.log(mydeque.isempty()); //true

ES6語法 資料結構

資料結構 set的用法 weakset的用法 map的用法 weakmap的用法 weakset和weakmap分別是set和map的弱用法 set 這個特性可以用來去重 let arr 1 2,3 3,4 4,5 5,5 let list0 newset arr console.log list0...

ES6語法 set資料結構

set通過new的方式生成,他類似陣列,但不是陣列,他的乙個重要特點便是他的成員是無重複的!無重複的!無重複的!重要的話說三次 const s new set 那麼在建立set的時候可以新增什麼上去呢?1.陣列,獲得乙個屋重複元素的set 如上所示,他得出來的是無重複的 那麼他是不是陣列 答案很明顯...

JS實現資料結構 佇列 基於ES6語法

佇列 概念 佇列是遵循先進先出 fifo 原則的一組有序的項。佇列可用的方法 實現 物件模擬佇列 1.建立佇列類 class queue enqueue rest dequeue const result this.items this.lowestcount 儲存要刪除的值 delete this...