队列

本文介绍了如何使用C++实现非循环队列和循环队列的基本操作,包括队列初始化、判断队列空、队列满的情况。在非循环队列中,队列空的状态是rear=front,队列满则可能导致假溢出,当rear=MaxSize-1。而在循环队列中,初始化时rear=front=0,队列空的条件是front=rear,队列满时front=(rear+1)%MaxSize,并讨论了队列元素数量的计算方法。
摘要由CSDN通过智能技术生成

非循环队列  基本成员函数

//队列初始化 rear=front=-1

队空 rear=front

队满上溢出rear=MaxSize-1 

队空下溢出rear=front

//可能假溢出

#include <iostream>
#define MaxSize 100
using namespace std;

template<typename T>
class SqQueueClass
{
    T *data;
    int front,rear;
public:
    SqQueueClass();
    ~SqQueueClass();
    bool QueueEmpty();
    bool enQueue(T e);
    bool deQueue(T &e);
};
template<typename T>
SqQueueClass<T>::SqQueueClass()
{
    data=new T[MaxSize];
    front =rear=-1;
}
template<typename T>
SqQueueClass<T>::~SqQueueClass()
{
    delete[]data;
}
template<typename T>
bool SqQueueClass<T>::QueueEmpty()
{
    return(front==rear);
}
template<typename T>
bool SqQueueClass<T>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值