⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 queue1.h

📁 数据结构的应用
💻 H
字号:
#include <iostream.h>

class Queue1                           //顺序循环队列类
{                                      //数组元素类型为抽象数据类型dataType
    dataType *table;                   //指向数组的指针
    int size;                          //队列的数组容量
    int front,rear;                    //front、rear为队列首尾下标

  public:
    Queue1(int n=0);                   //初始化长度为n的空队列
    ~Queue1();

    bool isEmpty();                    //判断队列的状态是否为空
    bool isFull();                     //判断队列的状态是否已满
    bool enQueue(const dataType k);    //入队
    dataType deQueue();                //出队

    friend ostream& operator<<(ostream& out,Queue1 &q);
                                       //输出队列中各数据元素值
};

Queue1::Queue1(int n)                  //初始化长度为n的空队列
{
    table=new dataType[n];             //为队列分配n个存储单元
    size=n;
    front=rear=0;                      //设置队列为空
}

Queue1::~Queue1()                      //析构函数
{
    delete []table;
    size=0;
    front=rear=0;
}

bool Queue1::isEmpty()                 //判断队列的状态是否为空
{
    return front==rear;
}

bool Queue1::isFull()                  //判断队列的状态是否已满
{
    return front==rear % size + 1;
}

bool Queue1::enQueue(const dataType ch)//数据元素ch入队
{
    if(!isFull())                      //队列不满时
    {
        table[rear]=ch;
        rear=(rear+1) % size;
        return true;
    }
    else 
    {
        cout<<"队列已满,"<<ch<<"值无法入队列!\n";
        return false;                  //队列溢出
    }
}

dataType Queue1::deQueue()             //出队
{
    dataType ch=0;
    if(!isEmpty())                     //队列不空
    {
        ch=table[front];               //取得队首数据元素值
        front=(front+1) % size;
    }
    return ch;
}

ostream& operator<<(ostream& out,Queue1 &q)//输出队列中各数据元素值
{
    int i=q.front;
    while(!q.isEmpty() && i<q.rear)
    {
         cout<<q.table[i]<<" ";
         i=(i+1) % q.size;
    }
    cout<<endl;
    return out;
}

      

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -