队列

138 阅读1分钟

认识队列

  • 队列(Queue),它是一种受限的线性表,先进先出(FIFO First In First Out)
  • 受限之处在于它只允许在队列的前端(front)进行删除操作;
  • 而在队列的后端(rear)进行插入操作;

QQ截图20240527075944.png

typescript 实现队列

interface IQueue<T> {
  enqueue(element: T): void;
  dequeue(): T | undefined;
  peek(): T | undefined;
  isEmpty(): boolean;
  size(): number;
}
class ArrayQueue<T> implements IQueue<T> {
  private data: T[] = [];
  enqueue(element: T): void {
    this.data.push(element);
  }
  dequeue(): T | undefined {
    return this.data.shift();
  }
  peek(): T | undefined {
    return this.data[0];
  }
  isEmpty(): boolean {
    return this.data.length === 0;
  }
  size(): number {
    return this.data.length;
  }
}