Theory and Tasks for Students - Spring 2019
Linked and Double Linked Lists

D1 Списки 101

Требуется написать обучающую программу WinForms, наглядно показывающую возможные операции со списками. От программы требуется следующий функционал:

  • Работа как с односвязными, так и двусвязными списками;
  • Создание нового элемента как списка из одного элемента;
  • Возможность вставления элемента в список путём указания двух элементов - элемент, который будет вставлен и элемент, после которого он будет вставлен;
  • Возможность переопределения ссылок у элементов вручную;
  • Возможность возможность разбиения и конкатенации списков.

D2 Станция Сортировочная

Требуется написать программу WinForms, позволяющую пользователю интерактивно решать задачу сортировки вагонов железнодорожного состава. Каждая новая задача должна генерировать следующий набор случайных данных:

  • Количество буферных путей на сортировочной станции;
  • Начальные состояния этих буферных путей - имеющиеся на них вагоны;
  • Исходный ж/д состав на подъездном пути;
  • Вид ж/д состава результата.

Вагоны должны отличаться по типу, отображаемому цветом и номером. В каждый момент времени пользователь должен иметь возможность совершать следующие операции:

  • Оставить часть текущего состава на одном из путей;
  • Прицепить к текущему составу все вагоны с одного буферного пути.

При успешном решении задачи должно быть выдано соответствующее сообщение и значения счётчиков количества операций отцепления и прицепления.