Как сделать двусвязный кольцевой список с указателем на голову и добавить новый узел после узла с наименьшим парным значением?

Нужно создать класс DLNode, который определяет узел списка и содержит поля: • data – целое число, хранящееся в узле • prev – ссылка на предыдущий узел • next – ссылка на следующий узел

Должно быть реализовано внутреннее представление: • AddFirst(int data) – добавление нового узла в голову списка • AddLast(int data) – добавление нового узла в хвост списка • AddAtPosition(int data, int pos) – добавление нового узла на определенную позицию • DeleteFirst() – удаление главы списка • DeleteLast() – удаление хвоста списка • DeleteAtPosition(int pos) – удаление узла из определенной позиции • Print() – вывод содержимого списка

При необходимости обязательный интерфейс можно расширить дополнительными способами для работы со списком. Для каждого из методов должно быть реализовано внутреннее представление.

Пользовательский интерфейс: Программа обязательно должна содержать понятный пользовательский интерфейс, позволяющий совершать над списком обязательные операции, а также операции, определенные соответствующим вариантом. После выполнения каждой операции должно выводиться текущее содержимое списка и предлагаться выполнение следующей операции. Если операция не может быть совершена (например, нет узлов, которые отвечали бы условию), необходимо вывести об этом уведомление и предложить пользователю проведение следующей операции. Для завершения приложения в меню пользователя должен быть предусмотрен выход из приложения.


Ответы (0 шт):