数据结构与算法 | 队列
2019-05-05 09:14
267 查看
一、队列
定义:队列是满足先进先出操作约束的线性表。
操作:
[code]Queue CreatQueue( int MaxSize ) //生成长度为MaxSize的空队列; int IsFullQ( Queue Q, int MaxSize ) //判断队列Q是否已满; void AddQ( Queue Q, ElementType item ) //将数据元素item插入队列Q中; int IsEmptyQ( Queue Q ) //判断队列Q是否为空; ElementType DeleteQ( Queue Q ) //将队头数据元素从队列中删除并返回。
二、顺序储蓄方式
用数组表示:
[code]const int MaxSize = 100; // 队列生长容量 typedef struck QueueNode* queue; struck QueueNode{ int Data[MaxSize]; int rear; int front; }
循环队列:
两个指针,其中front指向队列第一个元素,rear指向队列的最后一个元素的下一个位置。
1、创建空队列
[code]Queue CreatQueue(){ queue q = new QueueNode(); q->rear = 0; q->front = 0; return q; }
2、判断队列是否已满
[code]bool isFull(queue q){ if((q->rear+1)%MaxSize==q->front) return true; return false; }
相关文章推荐
- JavaScript数据结构与算法(二) 队列的实现
- python数据结构与算法 16 队列应用之 打印任务
- 数据结构与算法之----栈与队列
- 用Python实现的数据结构与算法:双端队列
- 数据结构与算法(C语言版)__链式队列
- 数据结构与算法系列-队列-队列的链式存储
- 数据结构与算法(三)队列与堆(Queue and Heap)
- 数据结构与算法 2:双向链表,栈,队列
- 数据结构与算法 ---- 线性表 及Java实现 顺序表、链表、栈、队列
- JavaScript数据结构与算法(三) 优先级队列的实现
- 数据结构与算法Java描述 队列
- 数据结构与算法(二):队列
- 数据结构与算法专题之线性表——队列及其应用
- 数据结构与算法(4)--队列
- 数据结构与算法(四)队列
- Java数据结构与算法(10) - ch05链表实现队列(Link Queue)
- 研磨数据结构与算法-03栈与队列
- 数据结构与算法(4)-栈,队列,优先级队列
- [数据结构与算法]堆与优先级队列
- python数据结构与算法 15 队列应用之烫手的山芋