JS實現(xiàn)隊列的先進(jìn)先出功能示例
本文實例講述了JS實現(xiàn)隊列的先進(jìn)先出功能。分享給大家供大家參考,具體如下:
/**
* [Queue]
* @param {[Int]} size [隊列大小]
*/
function Queue(size) {
var list = [];
//向隊列中添加數(shù)據(jù)
this.push = function(data) {
if (data==null) {
return false;
}
//如果傳遞了size參數(shù)就設(shè)置了隊列的大小
if (size != null && !isNaN(size)) {
if (list.length == size) {
this.pop();
}
}
list.unshift(data);
return true;
}
//從隊列中取出數(shù)據(jù)
this.pop = function() {
return list.pop();
}
//返回隊列的大小
this.size = function() {
return list.length;
}
//返回隊列的內(nèi)容
this.quere = function() {
return list;
}
}
//初始化沒有參數(shù)的隊列
var queue = new Queue();
for (var i = 1; i <= 5; i++) {
queue.push(i);
}
console.log(queue.quere());
console.log(queue.pop()); //從隊列中取出一個
console.log(queue.quere());
var queue = new Queue(3);
for (var i = 1; i <= 5; i++) {
queue.push(i);
}
console.log(queue.quere());
console.log(queue.pop());
console.log(queue.quere());
結(jié)果:
[ 5, 4, 3, 2, 1 ] 1 [ 5, 4, 3, 2 ][ 5, 4, 3 ] 3 [ 5, 4 ]
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)學(xué)運算用法總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
相關(guān)文章
前端用echarts繪制含有多個分層的波形圖關(guān)鍵代碼
每次實現(xiàn)各種圖表時,總會用到echarts,不得不說確實是一個非常好用的開源庫,這篇文章主要給大家介紹了關(guān)于前端用echarts繪制含有多個分層的波形圖的相關(guān)資料,需要的朋友可以參考下2024-03-03
探討JavaScript標(biāo)簽位置的存放與功能有無關(guān)系
在網(wǎng)頁中,我們可以將JavaScript代碼放在html文件中任何位置,但一般放在head或body標(biāo)簽里面。一般來說,<script>元素放在哪里與其的功能作用是緊密相關(guān)的,通過本文我們一起學(xué)習(xí)下2016-01-01
JavaScript實現(xiàn)獲取dom中class的方法
這篇文章主要介紹了JavaScript實現(xiàn)獲取dom中class的方法,涉及javascript操作dom節(jié)點的使用技巧,需要的朋友可以參考下2015-02-02

