Over a million developers have joined DZone.

Implement Queue using LinkedList - C#

· Web Dev Zone

Easily build powerful user management, authentication, and authorization into your web and mobile applications. Download this Forrester report on the new landscape of Customer Identity and Access Management, brought to you in partnership with Stormpath.

Queue using LinkedList - C#

 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;
                }
            }
        }

The Web Dev Zone is brought to you by Stormpath—offering a complete, pre-built User Management API for building web and mobile applications, and APIs. Download our new whitepaper: "Build Versus Buy: Customer Identity Management for Web and Mobile Applications".

Topics:
c#

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}