文章目录
  1. 1. 队列类
  2. 2. 添加数据
  3. 3. 删除数据
  4. 4. 获取数据
  5. 5. 是否为空
  6. 6. 清空数据
  7. 7. 数据长度
  8. 8. 辅助函数,打印数据
  9. 9. 完整代码

队列(Queue)是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。

队列类

1
2
3
function Queue(){
this.data = [];
}

添加数据

数据添加到末尾

1
2
3
enqueue: function(element) {
this.data.push(element);
}

删除数据

从头部删除

1
2
3
dequeue: function() {
this.data.shift();
}

获取数据

返回第一个

1
2
3
front: function() {
return this.data[0];
}

是否为空

1
2
3
isEmpty: function (){
return this.data.length == 0;
}

清空数据

1
2
3
clear: function (){
this.data= [];
}

数据长度

1
2
3
size: function (){
return this.data.length;
}

辅助函数,打印数据

1
2
3
print: function (){
console.log(this.data.toString());
}

完整代码

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
function Queue() {
this.data = [];
}

Queue.prototype = {
enqueue: function(element) {
this.data.push(element);
},
dequeue: function() {
this.data.shift();
},
front: function() {
return this.data[0];
},
isEmpty: function() {
return this.data.length == 0;
},
clear: function() {
this.data = [];
},
size: function() {
return this.data.length;
},
print: function() {
console.log(this.data.toString());
}
}

下面再扩充研究一下 优先队列

文章目录
  1. 1. 队列类
  2. 2. 添加数据
  3. 3. 删除数据
  4. 4. 获取数据
  5. 5. 是否为空
  6. 6. 清空数据
  7. 7. 数据长度
  8. 8. 辅助函数,打印数据
  9. 9. 完整代码
顶部