public Myqueue(int MaxElements)
public int enqueue(T Element)
if (rear == capacity - 1)
RemovedElement = queue[front];
public T peep(int position)
if (position < rear && position >= front)
public T[] GetAllStackElements()
T[] Elements = new T[rear+1];
Array.Copy(queue,front+1,Elements,0,rear+1-front);
public static void Main()
Console.WriteLine("Enter Capacity of queue :");
capacity = int.Parse(Console.ReadLine());
Myqueue<string> qq = new Myqueue<string>(10);
Console.WriteLine("1.enqueue");
Console.WriteLine("2.dequeue");
Console.WriteLine("3.Peep");
Console.WriteLine("4.Print queue Elements:");
Console.WriteLine("5.Exit");
Console.WriteLine("Eneter your Choice :");
int choice = int.Parse(Console.ReadLine());
Console.WriteLine("Enter String to enqueue :");
string temp = Console.ReadLine();
int result = qq.enqueue(temp);
Console.WriteLine("Element enqueued !");
Console.WriteLine("queue Overflow !");
string Result = qq.dequeue();
Console.WriteLine("Delete Element :"+Result);
Console.WriteLine("queue Underflow !");
Console.WriteLine("Enter Position of Element to dequeue:");
int Position = int.Parse(Console.ReadLine());
string Result = qq.peep(Position);
Console.WriteLine("Element at Position"+Position+ " is "+Result);
Console.WriteLine("Entered Element is Out of queue Range ");
string[] Elements = qq.GetAllStackElements();
Console.WriteLine("**************queue Content **************");
foreach (string str in Elements)
System.Diagnostics.Process.GetCurrentProcess().Kill();
Console.WriteLine("You have Entered Wrong Choice ");