队列的简介
队列和栈一样,也是一种运算受限的线性表(线性结构),它只允许在表的前端(front)进行删除操作,在表的后端(rear)进行插入操作。它的特点是先进先出(FIFO)
队列的具体表现
生活中
学校餐厅中,先来排队的人先买饭,后来的人排在先来的人的前面
计算机中
- 打印队列:当打印多个文件时,就需要排队打印
- 线程队列:开启多线程时,当新开启的线程所需要额资源不足的时候就会放入线程队列,等待CPU的处理
- 另外还有消息缓冲器、邮件缓冲器、操作系统资源管理等
普通队列
只允许在表的前端进行删除操作,在表的后端进行插入操作
普通对列常见的方法
emQueue(ele)
:向队尾添加一个新元素deQueue()
:移除队列的第一个元素,并返回被移除的元素front()
:返回对列中的第一个元素,不会对对列做出任何改动isEmpty()
:判断对列是否为空,为空则返回true
,否则返回false
clear()
:将中的内容清空size()
:返回栈中元素的个数toString()
:将队列中的内容,转成字符串形式
普通队列的数组实现
class Queue {
constructor() {
this.items = []
}
enQueue(item) {
this.items.push(item);
}
deQueue() {
return this.items.shift();
}
front() {
return this.items[0];
}
isEmpty() {
return this.items.length === 0;
}
size() {
return this.items.length;
}
toString() {
return this.items.join('')