在老師指導下寫的循環隊列

#include
#include<string.h>
#include<stdlib.h>
using namespace std;
class ArrQueue
{
public:
    ArrQueue()
    {
        queuesize=10;
        front=rear=0;
        data=new int [queuesize];
    }
    ArrQueue(int queuesize)
    {
        front=rear=0;
        this->queuesize=queuesize;
        data=new int [queuesize];
    }
    ~ArrQueue()
    {
        delete [] data;
    }
    void enQueue(int a)
    {
        if(isFull())
        {
            rear=(rear+1)%queuesize;
            num++;
            data[rear]=a;
        }
        else {cout<<"Full";}
    }
    int deQueue()
    {
        if(isEmpty())
        {
            cout<<"empty";
        }
        else
        {
            front=(front+1)%queuesize;
            return data[front];
        }
    }
    bool isFull()
    {
        return num=queuesize;


    }
    bool isEmpty()
    {
        return num==0;
    }
private:
    int front,rear,num=0;
    int queuesize;
    int * data;
};
int main()
{
   int str=1;
   ArrQueue p;
   for(int i=0;i<10;i++)
   {
       p.enQueue(str);
   }
   for(int i=0;i<10;i++)
   {
       int a;
       a=p.deQueue();
       cout<<a;
   }
   return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章