7 队列结构
1.队列特点 (重要)
它是一种受限的线性表,先进先出FIFO (First In First Out)
2.队列的应用:
3.队列类的创建:
1.基于数组
2.基于链表
4.数组.shift()方法
shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
5. indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
stringObject.indexOf(searchvalue,fromindex)
var str="Hello world!"
document.write(str.indexOf("Hello") + "<br />")
document.write(str.indexOf("World") + "<br />")
document.write(str.indexOf("world"))
补充
补充:队列(Queue)是一种**先进先出(FIFO)**的受限线性表,仅允许在队尾入队(enqueue)、队首出队(dequeue),时间复杂度均为 O(1)。典型应用:任务调度、消息队列、BFS 广度优先搜索、缓存淘汰(FIFO 策略)、生产者 - 消费者模型等。
class Queue { constructor() { this.items = []; } enqueue(item) { this.items.push(item); } dequeue() { return this.items.shift(); } front() { return this.items[0]; } size() { return this.items.length; } isEmpty() { return this.items.length === 0; } }
Array.prototype.shift为 O(n),工业级实现常用"循环队列 + 头尾指针"或双栈结构来达到 O(1) 出队。
来源整理自:我的有道云笔记



