Tuesday, 5 May 2015

How to use Queue in c# .NET using Generics ?


It represents a first-in, first out collection of object. It is used when you need a first-in, first-out access of items. When you add an item in the list, it is called enqueue, and when you remove an item, it is called deque.Objects stored in a Queue are inserted at one end and removed from the other.
We can Enqueue (add) items in Queue and we can Dequeue (remove from Queue ) or we can Peek (that is we will get the reference of first item ) item from Queue


Queue<T> is the class in the System.Collection.Generic Namespace, where T specifies the type of elements in the queue

Constructors:-
Queue<T> Constructor - Initializes a new instance of the Queue<T> class that is empty. The next lines shows how we create the empty queue.

Queue<string> queue = new Queue<string>();

Queue<T> Constructor (IEnumerable<T>) - Initializes a new instance of the Queue<T> class that contains elements copied from the specified collection.

string[] courses = { "10th","12th", "Bsc","Msc", "M. Phil","M. Pharama" };
Queue<string> queue = new Queue<string>(courses);

Queue<T> Constructor (Int32) - Initializes a new instance of the Queue<T> class that is empty and has the specified initial capacity.


Queue<string> queue = new Queue<string>(4);

Operation on Queue:-


















Property of Queue:-






Source code example:-

using System;
using System.Collections;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleAppDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            stackOperations classObj = new stackOperations();
            while (true)
            {
                // Console.Clear();
                Console.WriteLine("\n");
                Console.WriteLine("1. Add an element");
                Console.WriteLine("2. See the First element.");
                Console.WriteLine("3. Remove First element.");
                Console.WriteLine("4. Display Queue elements.");
                Console.WriteLine("5. Exit");
                Console.Write("Select your choice: ");
                int choice = Convert.ToInt32(Console.ReadLine());
                switch (choice)
                {
                    case 1:
                        classObj.Enqueue();
                        break;

                    case 2: classObj.Peek();
                        break;

                    case 3: classObj.Dequeue();
                        break;
                    case 4: classObj.Display();
                        break;

                    case 5: System.Environment.Exit(1);
                        break;
                }
                Console.ReadKey();
            }
        }
    }


    class stackOperations
    {
        string item;
        Queue<string> qObj = new Queue<string>();

        public bool isEmpty()
        {
            if (qObj.Count == 0) return true;

            return false;
        }

        public void Enqueue()
        {
            Console.Write("\nEnter a Item\n");
            item = Console.ReadLine();
            qObj.Enqueue(item);
            Console.WriteLine("\nItem Added successfully!");

        }

        public void Dequeue()
        {
            if (isEmpty())
            {
                Console.WriteLine("Queue is empty!");
            }
            else
            {
                qObj.Dequeue();
                Console.WriteLine("Removed Successfuly");
            }
        }
        public void Peek()
        {
            if (isEmpty())
            {
                Console.WriteLine("Queue is empty!");
            }
            else
            {
                Console.Write("First Item is: {0}", qObj.Peek());
            }
        }

        public void Display()
        {
            if (isEmpty())
            {
                Console.WriteLine("Queue is empty!");
            }
            else
            {
                Console.Write("\nItems in Queue are: \n");
                foreach (string item in qObj)
                {
                    Console.Write(item);
                    Console.Write("\n");
                }
            }
        }

    }
}


Output:-

Listing 1





































Listing 2





































Listing 3





































Listing 4


No comments:

Post a Comment