Tuesday, September 23, 2025

circular queue

 #include <iostream>

 using namespace std;
 #define MAX 5
 class CircularQueue{
private:
int arr[MAX];
int front,rear;
public:
CircularQueue(){
    front =rear=-1;
}
bool isFull(){
    return(front==0 && rear==MAX-1)||(front==rear+1);
}
bool isEmpty(){
    return front==-1;
}
void enqueue(int value){
    if(isFull()){
        cout<<"queue is full "<<endl;
        return;
    }
    if(front==-1){
        front=rear=0;
    }
     else if (rear == MAX- 1 && front != 0) {
        rear = 0;
    }
    else{
        rear++;
    }
    arr[rear]=value;
}
void dequeue(){
   if(isEmpty()){
    cout<<" stack underflow "<<endl;
    return;
   }
   if(front==rear){
    front=rear=-1;
   }
   else if(front==MAX-1){
    front=0;
   }
   else{
    front++;
   }
}
void peek(){
    if(isEmpty()){
        cout<<" queue is empty "<<endl;
        return;
    }
    cout<<arr[front]<<endl;
}
void display(){
    if(rear>=front){
        for(int i=front;i<=rear;i++)
        cout<<arr[i]<<endl;
    }else{
       
   
     for (int i = 0; i <= rear; i++){
                cout << arr[i] << endl;
     }
    }
}
 };
 int main() {
 CircularQueue q;
  q.enqueue(10);
    q.enqueue(20);
    q.enqueue(30);
    q.enqueue(40);
    q.enqueue(50);

    q.display();

    q.dequeue();
    q.dequeue();
    q.display();
 return 0;
 }

No comments:

Post a Comment

list in c#

  using System ; using System . Collections . Generic ; class Program {     static void Main () {         // Write your C# code here  ...