diff --git a/implementQueue.cpp b/implementQueue.cpp new file mode 100644 index 0000000..e4f8439 --- /dev/null +++ b/implementQueue.cpp @@ -0,0 +1,63 @@ +class Queue { + + int* arr; + int qfront; + int rear; + int size; + +public: + Queue() { + size = 100001; + arr = new int[size]; + qfront = 0; + rear = 0; + } + + /*----------------- Public Functions of Queue -----------------*/ + + bool isEmpty() { + if(qfront == rear) { + return true; + } + else + { + return false; + } + } + + void enqueue(int data) { + if(rear == size) + cout << "Queue is Full" << endl; + else + { + arr[rear] = data; + rear++; + } + } + + int dequeue() { + if(qfront == rear) { + return -1; + } + else + { int ans = arr[qfront]; + arr[qfront] = -1; + qfront++; + if(qfront==rear){ + qfront = 0; + rear = 0; + } + return ans; + } + } + + int front() { + if(qfront == rear) { + return -1; + } + else + { + return arr[qfront]; + } + } +}; \ No newline at end of file