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)文章
JS中的算法與數(shù)據(jù)結(jié)構(gòu)之字典(Dictionary)實例詳解
這篇文章主要介紹了JS中的算法與數(shù)據(jù)結(jié)構(gòu)之字典(Dictionary),結(jié)合實例形式詳細(xì)分析了javascript數(shù)據(jù)結(jié)構(gòu)中字典的概念、原理、定義與常見使用方法,需要的朋友可以參考下2019-08-08
JS實現(xiàn)二維數(shù)組橫縱列轉(zhuǎn)置的方法
下面小編就為大家分享一篇JS實現(xiàn)二維數(shù)組橫縱列轉(zhuǎn)置的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
使用堆實現(xiàn)Top K算法(JS實現(xiàn))
這篇文章主要介紹了使用堆實現(xiàn)Top K算法,即JS實現(xiàn),文中詳細(xì)介紹了Top K算法,感興趣的小伙伴們可以參考一下2015-12-12

