#include<iostream>
using namespace std;
class Queue{
    int arr[100],Front,rear,currSize,maxSize;
public:
    Queue(int defaultSize = 7){
    Front = 0;
    rear = defaultSize-1;
    currSize = 0;
    maxSize = defaultSize;
    arr[maxSize]={0};
    }
    bool IsFull(){
        return currSize==maxSize;
    }
    bool IsEmpty(){
        return currSize==0;
    }
    void enqueue(int data){
        if(!IsFull()){
            rear = (rear+1)%maxSize;
            currSize++;
        }
    }
    void deqeue(){
        if(!IsEmpty()){
            Front = (Front+1)%maxSize;
            currSize--;
        }
    }
    int getFront(){
    return arr[Front];
    }

};

int main(){
Queue q;
for(int i=0;i<6;i++){
    q.enqueue(i);
}
q.deqeue();
q.enqueue(8);
while(!q.IsEmpty()){
    cout<<q.getFront()<<" ";
    q.deqeue();
}
return 0;}

