队列ADT
2017-04-22 23:33
176 查看
像栈一样,队列是一种操作受限制的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(back)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。
队列是一种FIFO(先进先出)表。下面简单介绍队列的两种实现。
1. 顺序队列
对于每一个队列数据结构。我们保留一个疏则theArray以及位置front和back,它们代表队列的两端。我们还要记录实际存在于队列中的元素的个数currentSize。
为使某一个元素x入队(enqueue),我们让currentSize和back增1。然后置theArray[back] = x。若使元素出队(dequeue),我们置返回值为theArray[front],且currentSize减1,然后使front增1。如下图所示
2. 循环队列
简单的实现方式是,只要front或back到达数组的尾部,它就又绕回到开头。如下图所示。
队列是一种FIFO(先进先出)表。下面简单介绍队列的两种实现。
1. 顺序队列
对于每一个队列数据结构。我们保留一个疏则theArray以及位置front和back,它们代表队列的两端。我们还要记录实际存在于队列中的元素的个数currentSize。
为使某一个元素x入队(enqueue),我们让currentSize和back增1。然后置theArray[back] = x。若使元素出队(dequeue),我们置返回值为theArray[front],且currentSize减1,然后使front增1。如下图所示
2. 循环队列
简单的实现方式是,只要front或back到达数组的尾部,它就又绕回到开头。如下图所示。
相关文章推荐
- C_栈和队列(ADT)-栈的表示和实现
- 队列ADT
- 队列(Queue ADT)C语言实现
- 利用无序数组实现优先队列并排序数组——ADT实现
- 数据结构与算法 - 3.4 队列ADT
- 3.4 表、栈和队列_队列ADT
- 数据结构(三)之队列ADT
- C Primer Plus学习 六十三 队列 ADT(三)
- 数据结构-->队列的链式实现 ADT
- 数据结构(scheme) -- 抽象数据类型(ADT) -- 4000 队列
- 链式队列ADT改 (C语言)2018.3.14
- ADT - 链式队列(LinkQueue)
- 数据结构-->(循环)队列 【队列的顺序实现】ADT
- C_栈和队列(ADT)-队列的非循环(无头指针)顺序表示和实现
- C_栈和队列(ADT)-队列的非循环(带头指针)顺序表示和实现
- 队列的抽象数据类型(abstract data type,ADT)
- HDOJ 1053 Huffman编码 自写优先队列的ADT 权当做练习数据结构
- C_栈和队列(ADT)-队列的链式表示和实现
- 链表结构之ADT(栈与队列模拟)
- 队列ADT