例:仅具有4个元素的环形队列。
(1)MyQueue.h
(2)MyQueue.cpp
①成员函数/构造函数
MyQueue(int queueCapacity);
②成员函数/虚析构函数
virtual ~MyQueue();
③void ClearQueue();
④bool QueueEmpty() const;
⑤int QueueLength() const;
编写cpp文件:
队尾的位置就是插入数据的位置,第一个插入的数据放在queue[0],开始队首和队尾都是queue[0],插入一个数据后,队尾的位置变为queue[1]。
取第一个数从queue[0]开始取,后对头指向queue[1].
QueueLength
QueueEmpty
构造方法优化
clearQueue
构造和析构
队列用数组表达,那么队头和队尾就用int来表示数组下标就可以了
m_pQueue=new int[m_iQueueCapacity] 开辟用户传入容量的内存
这是我整理的代码 https://xiongyiming.blog.csdn.net/article/details/100619983
插入元素:每次插入之前需要判断队列是否已满。插入元素从队尾开始
插入。每插入一个,队尾指向下一个位置。
取出元素:每次取出之前需要判断队列是否为空。取出元素从队头开始
取出,每取出一个,队头指向下一个位置;
队列中空出的位置,队列为又可以插入新的元素
05:47 初始化 申请内存
7:20 析构函数 销毁队列 内存回收
MyQueue.cpp2
MyQueue.cpp1
MyQueue.h
每次插入之前需要判断一下,队列是否已满
插入一个元素后,队尾指向下一个位置,直到环形队列已满
取出元素,从队头开始取,取出一个元素,队头就指向下一个元素
队列中空出的位置,队列为又可以插入新的元素
在队列中插入元素时从队尾插入,并判断是否已插满;
取出元素时从队头取,并判断是否已空。
class MyQueue { public MyQueue(int queueCapacity); }