Queue.ts 695 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. export class Queue<T> {
  2. private items: T[] = [];
  3. // 入队操作
  4. enqueue(element: T): void {
  5. this.items.push(element);
  6. }
  7. // 出队操作
  8. dequeue(): T | undefined {
  9. return this.items.shift();
  10. }
  11. // 查看队首元素
  12. peek(): T | undefined {
  13. return this.items[0];
  14. }
  15. // 判断队列是否为空
  16. isEmpty(): boolean {
  17. return this.items.length === 0;
  18. }
  19. // 获取队列大小
  20. size(): number {
  21. return this.items.length;
  22. }
  23. // 清空队列
  24. clear(): void {
  25. this.items = [];
  26. }
  27. // 打印队列内容
  28. print(): void {
  29. console.log(this.items.join(' -> '));
  30. }
  31. }