Implement Queue in C#

Here is the Code:
    class Program
    {

        static void Main(string[] args)
        {
            Queue q = new Queue();
            Console.WriteLine(q.isEmpty());
            q.enqueue(1);

            q.enqueue(2);
            q.enqueue(3);
            q.enqueue(4);
            q.enqueue(5);
            q.enqueue(6);

            q.enqueue(7);
            Console.WriteLine(q.isEmpty());
            Console.WriteLine(q.peek());
            q.display();
            q.dequeue();
            q.display();
         
        }


    }

    public class node
    {
        public int data;
        public node next;
        public node(int _data)
        {
            data = _data;
        }
    }

    public class Queue
    {
        public node first;
        public node last;

        public void enqueue(int data)
        {
            node n = new node(data);
            if (first == null)
            {
                last = n;
                first = n;
            }
            else
            {
                last.next = n;
                last = n;
            }
        }
        public int dequeue()
        {
            int data=0;
            if (first != null)
            {
                data = first.data;
                first = first.next;
                if (first == null)
                {
                    last = null;
                }
            }
            return data;
        }
     
        public int peek()
        {
            return first.data;
        }

        public bool isEmpty()
        {
            if(first==null)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        public void display()
        {
            var temp = first;
            Console.WriteLine("________________");
            while (temp != null)
            {
                Console.WriteLine(temp.data);
                temp = temp.next;
            }
            Console.WriteLine("________________");
        }
    }

No comments:

Post a Comment

Popular Posts