Fork me on GitHub

队列

algorithm/queue/queue_banner

队列是遵循FIFO(First In First Out,先进先出,也称为先来先服务)原则的一组有序的项。队列在队尾添加新元素,并从顶部移除元素。最新添加的元素必须排在队列的末尾。

定义一个队列类

类似创建栈,创建队列也是使用构造函数:

1
2
3
function Queue() {
// 这里是属性和方法
}

存放数据也是使用一个数组var items = []

完整的基本代码

直接上基本的完整代码和相关的代码注释:

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
34
35
36
37
38
39
40
41
42
43
44
45
function Queue() {

// 存储数据的结构
var items = [];

// 入队,相当于入栈
this.enqueue = function(element) {
items.push(element);
};

// 出队,相当于出栈
this.dequeue = function() {
return item.shift();
}

// 队首,队列的第一个元素
this.front = function() {
return items[0];
};

// 队尾,队列的最后一个元素
this.end = function() {
return items[items.length - 1];
};

// 检查队列是否是空的队列
this.isEmpty = function() {
return items.length == 0;
};

// 将队列置空
this.clear = function() {
items = [];
};

// 队列的长度
this.size = function() {
return items.lenght;
};

// 展示/打印队列信息
this.print = function() {
console.log(items.toString());
}
}

基本的代码跟之前的的代码是大同小异,更多的代码请查看https://github.com/reng99/algorithm

<-- 本文已结束  感谢您阅读 -->
客官,且步,赏一个呗 (@ ~ @)