DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

Aniruddha has posted 40 posts at DZone. View Full User Profile

Implement Queue using LinkedList - C#

05.22.2012
| 8386 views |
  • submit to reddit
 public class Node
        {
            public int Data { get; set; }
            public Node Next { get; set; }
            public Node(int data)
            {
                this.Data = data;
            }
        }

public class Queue
        {
            private Node _head;
            private Node _tail;
            private int _count = 0;
            
            public Queue() { }

            public void Enqueue(int data)
            {
                Node _newNode = new Node(data);
                if (_head == null)
                {
                    _head = _newNode;
                    _tail = _head;
                }
                else
                {
                    _tail.Next = _newNode;
                    _tail = _tail.Next;
                }
                _count++;
            }

            public int Dequeue()
            {
                if (_head == null)
                {
                    throw new Exception("Queue is Empty");
                }
                int _result = _head.Data;
                _head = _head.Next;
                return _result;
            }

            public int Count
            {
                get
                {
                    return this._count;
                }
            }
        }
Queue using LinkedList - C#