Data Structures Algorithms 简明教程
Queue Data Structure
What is a Queue?
queue 是一个线性数据结构,其中元素按 FIFO(先进先出)原则存储,其中第一个插入的元素将是第一个被访问的元素。队列是一种与堆栈类似的抽象数据类型 (ADT),队列与堆栈的不同之处在于队列在其两端都是开放的。数据通过一端插入队列,并从另一端删除数据。队列在大多数编程语言中都非常常用。
队列的实际示例可以是单车道单行道,其中的车辆先进入,先退出。更多实际示例可以看作是售票窗口和公共汽车站的队列。
Basic Operations in Queue
队列操作还包括队列的初始化、使用和永久从内存中删除数据。
队列 ADT 中最基本的操作包括:enqueue()、dequeue()、peek()、isFull()、isEmpty()。这些都是内置操作,用于执行数据操作和检查队列的状态。
队列使用两个指针: front 和 rear 。前指针从前端访问数据(帮助入队),而后指针从后端访问数据(帮助出队)。
Queue Insertion Operation: Enqueue()
enqueue() 是一种数据操作操作,用于将元素插入堆栈。以下算法以更简单的方式描述了 enqueue() 操作。
Queue Deletion Operation: dequeue()
dequeue() 是一种数据处理操作,用于从堆栈中移除元素。以下算法以一种更简单的方式描述了 dequeue() 操作。
Queue - The isFull() Operation
isFull() 操作验证堆栈是否已满。
Queue - The isEmpty() operation
isEmpty() 操作验证堆栈是否为空。此操作用于在顶部指针的帮助下检查堆栈的状态。
Queue Implementation in C
单击以查看 Queue Program using C 的实现