队列 - 使用front和count表示循环数组队列(C++)

问题描述:如果用一个循环数组q[0..m-1]表示队列时,该队列只有一个队列头指针front,不设队列尾指针rear,而设置计数器count用以记录队列中节点的个数。使编写算法实现队列的4个基本操作:判空、入队、出队以及输出队列中所有元素。

完整代码如下:

 
 
//C++ - 77.2 - 循环数组表示队列,只用头指针和计数变量count 
/* 算法 - 实现判空、入队、出队 */
/* 队列 - 先入先出表 */ 
//Y_27学习笔记 

#include <iostream>
using namespace std;

template <typename T>
class arrqueue
{
	private:
		int MaxSize,front,count;              //MaxSize - 数组最大容量、front - 队列头指针、count - 当前队列中元素个数 
		T *qu;                                //T类型的数组、qu为数组名 
		
	public:
		arrqueue(int size)                 //构造函数 - 初始化成员变量、分配内存空间的好地方 
		{
			MaxSize = size;
			qu = new T[MaxSize];
			count = front = 0; 
		}
		
		~arrqueue()                  //析构函数、动态释放动态生成的内存 
		{
		    if( qu )       //qu != NULL
			{
				delete [] qu;                 //释放qu指向的内存块 
				qu = NULL;                  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值