《三》队列
程序员文章站
2022-03-05 12:48:54
...
队列是一种列表,不同的是队列只能在队尾插入元素,在队首删除元素,队列用于存储按顺序排列的数据,先进先出。
可以将队列想象成在银行前排队的人群,排在最前面的人第一个办理业务,新来的人只能在后面排队,直到轮到他们为止。
队列是一种先进先出的数据结构。队列被用在很多地方,比如提交操作系统执行的一系列进程、打印任务池等,一些仿真系统用队列来模拟银行或杂货店里排队的顾客。
一个用数组实现的队列:
首先创建一个构造函数:
function Queue() {
this.dataStore = [];
this.enqueue = enqueue;
this.dequeue = dequeue;
this.front = front;
this.back = back;
this.empty = empty;
this.toString = toString;
}
enqueue():向队尾添加一个元素
function enqueue(element) {
this.dataStore.push(element);
}
dequeue():删除队首的元素
function dequeue() {
return this.dataStore.shift();
}
front():读取队首的元素
function front() {
return this.dataStore[0];
}
back():读取队尾的元素
function back() {
return this.dataStore[this.dataStore.length-1];
}
empty():判断队列是否为空
function empty() {
if (this.dataStore.length == 0) {
return true;
} else {
return false;
}
}
toString():显示队列内的所有元素
function toString() {
var retStr = "";
for (var i = 0; i < this.dataStore.length; ++i) {
retStr += this.dataStore[i] + "\n";
}
return retStr;
}
使用队列:
方块舞的舞伴分配问题:
使用队列来模拟跳方块舞的人。
下一篇: Elasticsearch--配置说明