public void Remove(int item) { if (Right == null) { // Ветка, если элемент последний. if (Value == item) { Left.Right = null; Left = null; } else { Console.WriteLine("Не было найдено элемента {0}", item); } } else { // Ветка, если элемент не последний if (Value == item) { if (Left == null) { // Ветка, если элемент первый. Right.Left.Value = Right.Value; Right.Remove(Right.Value); } else { // Ветка, если элемент не первый. Right.Left = Left; Left.Right = Right; Right = null; Left = null; } } else { Right.Remove(item); // проход по списку, отправка правого элемента } } }
public DoublyLinkedList(int value) { this.Value = value; Left = null; Right = null; }
private DoublyLinkedList Right; // ссылка на следующий элемент public DoublyLinkedList() { Value = 0; Left = null; Right = null; }