JS实现Queue代码剖析

背景

本文主要理解下JS里实现普通Queue的代码段,希望对算法有所理解。

正文

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

module.exports = Queue;
/**
* [Queue]
* @param {[Int]} size [队列大小]
*/
function Queue(size) {
var list = [];
return {
push: function (value) {
if(value == null){
return false;
}
if(size !=null && !isNAN(size)){
if(list.length == size){
this.pop();
}
}
list.unshift(value);
return true;
},
pop: function () {
return list.pop()
},
size: function () {
return list.length;
},
//返回队列的内容
quere: function () {
reurn list;
}
};
}
1
2
3
4
5
6
7
8
9

//引用

var Queue = require('Queue')

var queue = new Queue()
queue.push(11)
queue.quere()
queue.pop()

关于作者

** 珠峰
WEB开发与管理相结合,注重技术与应用结合。现居上海。