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
Comments
Post a Comment