Queue Using Array(27 Aug 2023)

 avatarkaziamir
c_cpp
a month ago
1.3 kB
5
Indexable
Never
#include<bits/stdc++.h>
using namespace std;

#define max 2

int arr[max];
int first = 0, last = 0;

int isFull(){
    if(last == max){
        return 1;
    }
    else{
        return 0;
    }
}

int isEmpty(){
    if(first == last){
        first = 0; last = 0;
        return 1;
    }
    else{
        return 0;
    }
}

void enqueue(int x){
    if(!isFull()){
        cout<<"Input Element: " <<x<<endl;
        arr[last] = x;
        last++;
    }
    else{
        cout<<"Queue Full! Can't Store: "<<x<<endl;
    }
}

void dequeue(){
    if(!isEmpty()){
        cout <<"Element Gone: "<< arr[first] <<endl;
        first++;
    }
    else{
        cout<<"Queue Empty! can't Operate.."<<endl;
    }
}

void display(){
    if(!isEmpty()){
        cout<<"Current Elements are: ";
        for(int i=first;i<last;i++){
            cout<<arr[i]<<" ";
        }
        cout<<endl<<first<<" " <<last<<endl;
    }
    else{
        cout<<"Empty!"<<endl;
        cout<<first<< " " <<last<<endl;
    }
    cout<<endl;
}

void solution(){
    for(int i=1;i<=max+2;i++){
        enqueue(i);
        cout<<first<<" " <<last<<endl;
    }
    display();
    for(int i=first;i<=last+1;i++){
        dequeue();
        cout<<first<<" " <<last<<endl;
    }
    display();

}

int main() {
    solution();
}