c_cpp C ++中的队列数组实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp C ++中的队列数组实现相关的知识,希望对你有一定的参考价值。

#include<iostream>
#define MAX 5

using namespace std;

class Queue
{
    public:
    int front, rear;
    int queue_array[MAX];
    bool isEmpty()
    {
        return front == -1;
    }
    bool isFull()
    {
        return front == MAX-1;
    }
public:
    Queue()
    {
        front = -1;
        rear = -1;
    }

    void enqueue(int x)
    {
        if(!isFull())
        {
            queue_array[++front] = x;
            if(rear == -1)
                rear = 0;
        }
        else
            cout << "Queue is Full!" << endl;
    }

    void dequeue()
    {
        if(!isEmpty())
        {
            if(rear == front)
                rear = front = -1;
            else
                rear++;
        }
        else
            cout << "Queue is Empty!" << endl;
    }

    void display()
    {
        if(!isEmpty())
        {
            for(int i=rear;i<=front;i++)
                cout << queue_array[i] << " ";
            cout << endl;
        }
        else
            cout << "Queue is Empty!" << endl;
    }
};

int main()
{
    Queue q;
    q.enqueue(15);
    q.display();
    q.enqueue(25);
    q.display();
    q.enqueue(35);
    q.display();
    q.enqueue(45);
    q.display();
    q.enqueue(55);
    q.display();
    q.enqueue(55);
    q.dequeue();
    q.display();
    q.dequeue();
    q.display();
    q.dequeue();
    q.display();
    q.dequeue();
    q.display();
    q.dequeue();
    q.display();
    q.dequeue();
}

以上是关于c_cpp C ++中的队列数组实现的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp Stack - C ++中的数组实现

求助C语言的问题"用数组实现顺序队列"

C中的消息队列:实现2路通信

什么是环形队列,采用什么方法实现环形队列

C++STL之优先级队列详解

C++STL之优先级队列详解