예제 #1
0
        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();
        }
예제 #2
0
 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); // проход по списку, отправка правого элемента
         }
     }
 }