static void Main(string[] args) { // Создание списка. int size = InputInt("Введите размер списка: "); while (size < 2) { Console.WriteLine("Необходимо ввести число 2 или более"); size = InputInt("Введите размер списка: "); } DoublyLinkedList list = DoublyLinkedList.MakeList(size); DoublyLinkedList.Show(list); // Поиск вхождения в список. int search = InputInt("\n\nВведите число для проверки вхождения: "); list.Search(search); // Удаление элемента из списка. int remove = InputInt("\nВведите элемент, который необходимо удалить: "); list.Remove(remove); DoublyLinkedList.Show(list); Console.WriteLine("\n\nPress something to exit"); Console.ReadKey(); Random r = new Random(); }
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); // проход по списку, отправка правого элемента } } }