C# - Implement a Queue using Array


The code to implement a Queue using array in C#

CODE
using System; class Program { public static void Main(string[] args) { int rearElement = -1; Queue q = new Queue(); rearElement = q.Dequeue(); q.Enqueue(10); q.Display(); q.Enqueue(20); q.Display(); q.Enqueue(30); q.Display(); q.Enqueue(40); q.Display(); rearElement = q.Dequeue(); Console.WriteLine("Rear Element Removed: {0}", rearElement); q.Display(); q.Enqueue(50); q.Display(); rearElement = q.Dequeue(); Console.WriteLine("Rear Element Removed: {0}", rearElement); q.Display(); rearElement = q.Dequeue(); Console.WriteLine("Rear Element Removed: {0}", rearElement); q.Display(); rearElement = q.Dequeue(); Console.WriteLine("Rear Element Removed: {0}", rearElement); q.Display(); rearElement = q.Dequeue(); Console.WriteLine("Rear Element Removed: {0}", rearElement); q.Display(); Console.ReadKey(); } } public class Queue { static readonly int MAX = 1000; private int front = 0; private int rear = -1; private int[] queue = new int[MAX]; public bool isFull() { if(rear == MAX-1) return true; else return false; } public bool IsEmpty() { if(rear == -1) return true; else return false; } public void Enqueue(int data) { if(isFull()) Console.WriteLine("The Queue is full"); else { rear++; queue[rear] = data; } } public int Dequeue() { int result = -1; if(IsEmpty()) Console.WriteLine("The Queue is empty"); else { result = queue[front]; for(int i = 0; i <= rear; i++) { queue[i] = queue[i + 1]; } rear--; } return result; } public void Display() { if(IsEmpty()) Console.WriteLine("The Queue is Empty"); else { for(int i = 0; i <= rear; i++) { Console.Write(queue[i]); if (i < rear) Console.Write(" <-- "); } Console.WriteLine(""); } } }

INPUT & OUTPUT
The below is the output of the program.

Comments