数据结构和算法之队列基本概念

一、队列概念以及特点

1、概念

先进先出的一种线性结构。

2、特点

一般包含两个指针,一个指向队首,一个指向队尾。我这里默认都是-1,入队的时候队尾指针向后移动一位,也就是+1操作,出队的时候队首指针向后移动一位,也就是+1操作。

二、生活案例

  • 比如上厕所,如果坑位只有一个,想蹲坑的人有5个,那肯定要排队,先进去的先出来,出来后下一个继续进去。先进先出
  • 再比如以银行叫号,窗口不够用,排队人太多,需要一个一个的办理业务,也是先进先出
  • 等等

三、种类

  • 数组队列
  • 链表队列
  • 循环队列
  • 阻塞队列
  • 并发队列

四、应用场景

  • 高性能队列Disruptor,采取了循环并发队列
  • Java的concurrent并发包下的ArrayBlockingQueue

五、图解先进先出

1、入队

队尾指针每次向后移动一位。
在这里插入图片描述

2、出队

队首指针每次向后移动一位。
在这里插入图片描述

发布了28 篇原创文章 · 获赞 33 · 访问量 8308

猜你喜欢

转载自blog.csdn.net/ctwctw/article/details/103220369