Queue |
A queue is a data structure that follows the First-In, First-Out (FIFO) principle, where elements are inserted at the rear (enqueue) and removed from the front (dequeue).
Time Complexities:
#include<iostream> using namespace std; class MyQueue{ private: int* array; int size; int capacity; int rear; int front; public: MyQueue(int capacity){ array = new int[capacity]; size = 0; this->capacity = capacity; front = 0; rear = 0; } int getSize(){ return size; } void enqueue(int element){ if(size+1>capacity){ cout << "Queue is full" << endl; return; } array[front] = element; front++; size++; } void dequeue(){ if(size>0){ rear++; rear = rear%capacity; size--;} } int top(){ if(size>0){ return array[rear]; } return -1; } void display(){ if(size>0){ int count = 0; for(int i = rear; i<capacity; i++){ cout << array[i] << " "; count++; if(count==size){ cout << endl; return; } } for(int i = 0; i<rear; i++){ cout << array[i] << " "; count++; if(count==size){ cout << endl; return; } } } cout << endl; } };