题目描述:
循环队列采用一维数组作为它的存储表示,往往很难确定到底数组需要设置多少元素才够用,设置太多元素,可能造成浪费,设置太少元素,可能造成溢出,为此可以改写队列的插入和删除算法,自动根据需要调整队列的存储数组的大小。
(1)改写队列的插入函数,当对列满并需要插入新元素时将数组空间扩大一倍,使新元素得以插入。
(2)改写队列的删除函数,当队列元素少于数组空间的1/4时将数组空间自动缩减一半。
下面是博主自己码的代码,不喜勿喷,有错的话请评论指出,感激不尽,由于程序写的比较仓促,所以没有写注释,但我觉得程序很易理解,都是很简单的逻辑。
#ifndef CIRSQUEUE_H_
#define CIRSQUEUE_H_
#include <iostream>
using namespace std;
template<class T>
class CirsQueue{
private:
int front;
int rear;
T * elements;
int maxSize;
public:
CirsQueue(i