コード例 #1
0
        public string Dequeue()
        {
            if (head == null)
            {
                throw new Exception("The queue is empty");
            }

            var v = head.value;

            if (head == tail)
            {
                head = tail = null;
            }
            else
            {
                head      = head.next;
                head.prev = null;
            }
            return(v);
        }
コード例 #2
0
        QueueElement2 tail; // = null

        public void Enqueue(string v)
        {
            if (head == null)
            {
                head = tail = new QueueElement2()
                {
                    value = v
                };
            }

            else
            {
                tail = new QueueElement2()
                {
                    value = v,
                    prev  = tail
                };
                tail.prev.next = tail;
            }
        }