Лабораторная работа №1
«Кольцевые односвязные списки»
Вариант № 1.18
ПОСТАНОВКА ЗАДАЧИ
Сформировать линейный односвязный список (ЛОС) с заданным указателем sag, работающий с типом данных Integer. Составить программу, которая должна из заданного списка удалить первый и последний элементы.
Составить программу, которая:
- обеспечивает ввод данных типа Integer с клавиатуры;
- создает линейный односвязный список из введенных данных с клавиатуры;
- обеспечивает диалог посредством вывода информационных сообщений и вариантов выполнения дальнейших действий;
- удаляет первый и последний элементы.
- в данной программе будут реализованы следующие возможности работы с ЛОС:
0 - Выход из программы
1 - Создание ЛОС
2 - Добавление элемента в начало списка
3 - Добавление элемента в середину списка, перед указанным значением
4 - Добавление элемента в середину списка, после указанного значения
5 - Добавление элемента в конец списка
6 - Удаление элемента в начале списка
7 - Удаление элемента ЛОС стоящего перед указанным значением списка
8 - Удаление элемента ЛОС стоящего после указанного значения списка
9 - Удаление определенного элемента в списке
10 - Удаление элемента в конце списка
11 - Удаление первого и последнего элементов ЛОС
12 - Очистка ЛОС
13 - Поиск элемента по его значению
14 - Сортировка элементов ЛОС
15 - Подсчет количества идентичных по содержанию элементов с указанным
ОПИСАНИЕ АЛГОРИТМА РЕШЕНИЯ ЗАДАЧИ
Ввод данных осуществляется в диалоговом режиме.
Пользователь информируется о вариантах работы в данной программе, об особенностях ввода значений в программе.
Далее осуществляется ввод самого списка. Создается линейный односвязный список, с указанием на конец списка (NIL) и по мере ввода данных, ЛОС наполняется, при этом идет сортировка значений элементов по возрастанию.
После ввода необходимого количества элементов и ввода нулевого значения, созданный и отсортированный ЛОС выводиться на экран.
Далее, следуя указаниям программы, пользователь нажимает Enter, для продолжения работы программы, на экран выводиться перечень возможных вариантов работы в данной программе.
После выбора нужного номера операции, в нашем случае (11 - Удалить первый и последний элементы ЛОС) и нажатия на Enter. Происходит удаление первого и последнего элементов ЛОС, с выводом на экран итогового вида ЛОС.
ОПИСАНИЕ ИСПОЛЬЗУЕМЫХ СТРУКТУР ДАННЫХ
Для хранения данных в соответствии с постановкой задачи необходимо в программе создать Линейный Односвязный Список (ЛОС).
Описание типа используемых данных
Type
chisla = set of '0'..'9'; {множество}
TE= Integer; {описание целочисленного типа}
WE= String; {описание строкового типа}
PE= ^EL; {описание типа указателя}
EL= Record {описание типа - запись}
inf: TE; {информационная часть элемента, тип Integer}
inf2: WE; {информационная часть элемента, тип String}
next: PE {адресная часть элемента}
End;
Var
Sag, {указатель начала списка}
q, qq: PE; {переменные указателей}
oper, st, st2: TE; {переменные целочисленного типа}
w, stroka: WE; {переменные строкового типа}
ОПИСАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА
Начальный вид окна программы. ............