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) 出队。

来源整理自:我的有道云笔记