Реализация двунаправленного списка на C#

Узнай цену своей работы

Формулировка задачи:

Помоги, пожалуйста. Как реализовать процедуры перемещения элементов двунаправленного списка в очередь и наоборот, чтобы список реализовался с помощью указателей, стек - массивом?

Решение задачи: «Реализация двунаправленного списка на C#»

textual
Листинг программы
class Node<TYPE>
        {
            private TYPE Value;
            private Node<TYPE> Up = null;
            private Node<TYPE> Down = null;
            public void AddToUp(TYPE NewValue)
            {
                this.Up = new Node<TYPE>(NewValue);
                this.Up.Down = this;
            }
            public void AddToDown(TYPE NewValue)
            {
                this.Down = new Node<TYPE>(NewValue);
                this.Down.Up = this;
            }
            public TYPE GetValue()
            {
                return this.Value;
            }
            public void SetValue(TYPE NewValue)
            {
                this.Value = NewValue;
            }
            public TYPE[] ToArray()
            {
                TYPE[] ResultMass;
                Node<TYPE> ThisData = this;
                while (ThisData.Up != null) ThisData = ThisData.Up;
                Int32 KolOfEllements = new Int32();
                while (ThisData.Down != null)
                {
                    KolOfEllements++;
                    ThisData = ThisData.Down;
                }
                ResultMass = new TYPE[KolOfEllements];
                KolOfEllements = new Int32();
                while (ThisData.Up != null) ThisData = ThisData.Up;
                while (ThisData.Down != null)
                {
                    ResultMass[KolOfEllements++] = ThisData.GetValue();
                    ThisData = ThisData.Down;
                }
                return ResultMass;
            }
            public Int32 GetLength()
            {
                return this.ToArray().Length;
            }
            public Node()
            {
                this.Up = null;
                this.Down = null;
            }
            public Node(TYPE Value)
            {
                this.Value = Value;
                this.Up = null;
                this.Down = null;
            }
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы