队列(QueueQueueQueue) 是一种**先进先出(FIFO,FirstInFirstOutFIFO, First In First OutFIFO,FirstInFirstOut)**的线性数据结构。
就像排队买票:先到的人先服务,后到的人站在队尾。
核心操作:
与栈的区别
栈(StackStackStack):后进先出(LIFOLIFOLIFO),像叠盘子,只能从顶部拿
队列(QueueQueueQueue):先进先出(FIFOFIFOFIFO),像排队,从队首出、队尾进
代码实现(C++C++C++)
常见变种
循环队列:用数组实现,首尾相接省空间
双端队列(dequedequedeque):两头都能进出
优先队列(priorityqueuepriority_queuepriorityq ueue):按优先级出队(本质是堆)
典型应用
** BFSBFSBFS 广度优先搜索**(层序遍历、最短路径)
任务调度(操作系统进程调度、消息队列)
缓冲处理(打印机任务排队、网络数据包)
一句话总结:队列就是"先来先服务"的排队结构,从尾进、从头出。