Напишите программу, реализующую работу с линейным двусвязным списком.
Программа должна делать следующее:
a. Предложить пользователю создать список и запросить, как должны добавляться
новые элементы (при создании списка): в начало списка, в конец списка, так,
чтобы список был упорядочен по возрастанию, или так, чтобы список был
упорядочен по убыванию?
b. Когда список будет сформирован, выдать запрос пользователю о желании
продолжить работу со списком. В случае положительного ответа должны
предоставляться следующие возможности (пока не будет отказа от продолжения
работы):
i. поиск элемента с заданным значением информационного поля
ii. удаление элемента с заданным значением информационного поля (если
такого элемента нет, выводить сообщение об этом)
iii. добавление элемента с заданным значением информационного поля (в
начало, в конец, с соблюдением упорядоченности)
iv. выяснение длины списка
v. выяснение того, что список не пуст.
c. Реализовать процедуру полной очистки списка, которая должна выполняться
сразу же после того, как пользователь завершит работу со списком. Процедура
должна выводить сообщение о том, что память очищена. На этом программа
завершает работу.