コード例 #1
0
 private void SetHeadItem(T data)
 {
     Head          = new DuplexItemList <T>(data);
     Head.Next     = Head;
     Head.Previous = Head;
     Count         = 1;
 }
コード例 #2
0
        /// <summary>
        /// Конструктор.
        /// </summary>
        /// <param name="data">Данные.</param>
        public DuplexLinkedList(T data)
        {
            var item = new DuplexItemList <T>(data);

            Head  = item;
            Tail  = item;
            Count = 1;
        }
コード例 #3
0
        /// <summary>
        /// Добавить новый элемент.
        /// </summary>
        /// <param name="data">Данные.</param>
        public void Add(T data)
        {
            if (Count == 0)
            {
                SetHeadItem(data);
                return;
            }

            var item = new DuplexItemList <T>(data);

            item.Next          = Head;
            item.Previous      = Head.Previous;
            Head.Previous.Next = item;
            Head.Previous      = item;
            Count++;
        }
コード例 #4
0
        /// <summary>
        /// Добавить новый элемент.
        /// </summary>
        /// <param name="data">Данные.</param>
        public void Add(T data)
        {
            var item = new DuplexItemList <T>(data);

            if (Count == 0)
            {
                Head  = item;
                Tail  = item;
                Count = 1;
                return;
            }


            Tail.Next     = item;
            item.Previous = Tail;
            Tail          = item;
            Count++;
        }
コード例 #5
0
 private void RemoveItem(DuplexItemList <T> current)
 {
     current.Next.Previous = current.Previous;
     current.Previous.Next = current.Next;
     Count--;
 }