Программа для создания двусвязных кольцевых списков
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
Содержание
Введение
1. Состав проекта
.1 Формы
.2 Модули
2. Статические данные и структуры
3. Логическая структура данных
4. Логические схемы операций
5. Алгоритмы обработки основных структур
5.1 Добавление нового элемента
5.2 Удаление элемента
. Руководство пользователя
Заключение
Список использованных источников
Приложение
Введение
Любая программа представляет собой не только набор операторов и ключевых слов, но также совокупность информационных объектов, действия над которыми записаны в этих операторах. В любом операторе фигурируют объекты называемые данными. Значение данного, относящегося к любому из таких типов логически неразделимо. Поэтому такие данные называются неструктурированными. Из них формируются структуры данных.
Структуры данных используются повсюду. В этом понятии приоритетную роль играют не значения элементов данных, т.е. данных которые образуют структуру, а отношение между этими элементами. Именно отношение определяет конфигурацию структуры, а самое главное реализацию операций в структурах.
Связный список - структура данных, состоящая из узлов, каждый из которых содержит как собственно данные, так и одну или две ссылки (связки) на следующий и/или предыдущий узел списка. Принципиальным преимуществом перед массивом является структурная гибкость: порядок элементов связного списка может не совпадать с порядком расположения элементов данных в памяти компьютера, а порядок обхода списка всегда явно задаётся его внутренними связями.
1. Состав Delphi проекта
1.1 Формы
При запуске программы на экране появляется главная форма (Рисунок 1).
Рисунок 1 - Главная форма программы
.2 Модули
Программа представлена в виде трех модулей:
- UnitFourthPlex.pas
UnitMainForm.pas
UnitFuncs.pas
В модуле UnitFourthPlex.pas содержится класс TPlex, который позволяет работать с данными плекса. Он содержит 4 указателя на головы соответствующих списков и все необходимые методы для работы с плексом. Также в данном модуле описана запись TMember, которая представляет собой данные, которые хранятся в узлах списка, и запись TNode, которая определяет узел списка.
В модуле UnitMainForm.pas содержится описание формы для работы с пользователем.
В модуле UnitFuncs.pas описаны различные служебные функции, которые необходимо выполнять при работе с программой.
2. Статические данные и структуры
Расположение элементов списка в памяти имеет следующий вид:
а) Обход списка по первым указателям (Рисунок 2);
б) Обход списка по вторым указателям (Рисунок 3);
в) Обход списка по третьим указателям (Рисунок 4);
г) Обход списка по четвертым указателям (Рисунок 5);
Рисунок 2 - Обход списка по первым указателям
Рисунок 3 - Обход списка по вторым указателям
Рисунок 4 - Обход списка по третьим указателям
Рисунок 5 - Обход списка по четвертым указателям
Ниже представлена информация о полях структуры TMember (Рисунок 6)
Рисунок 6 - Объект записи TMember
3. Логическая структура данных
Логическая структура двусвязного кольцевого списка имеет вид, представленный на рисунке 6.
Рисунок 6 - Структура списка
Каждый элемент имеет указатели на следующий элемент соответствующего списка.
4 Логические схемы операций
Наиболее важные операции со списками:
Добавление элемента в конец списка (Рисунок 9, 10).
Исключение элемента (Рисунок 11, 12).
Сортировка списка (Рисунок 13, 14).
Рисунок 9 - Перед добавлением элемента в конец списка
Рисунок 10 - После добавления элемента в конец списка
Рисунок 11 - До исключения элемента из списка
Рисунок 12 - После исключения элемента из списка
При сортировке списка методом Шейкера нужно переставлять соседние элементы. Схема перестановки элементов представлена на рисунках 13, 14.
Рисунок 13 - Нахождение элементов, подлежащих перестановке
Рисунок 14 - Список после перестановки элементов
5. Алгоритмы обработки основных структур
.1 Добавление нового элемента
Алгоритм добавления нового элемента приведен на рисунок 15.
Рисунок 15 - Добавление нового элемента
5.2 Удаление элемента
Алгоритм добавления нового элемента приведен на рисунке 16.
Рисунок 16 - Удаление элемента
6 Руководство пользователя
При запуске программы появляется главное окно (Рисунок 17).
Рисунок 17 - Начало работы
список программа структура алгоритм
На форме содержится 5 таблиц с исходными данными, которые пользователь может редактировать. По нажатию кнопки Добавить …, расположенной перед каждой таблицей, пользователю предоставляется пустая строка для добавления новой информации (Рисунок 18).
Рисунок 18 - Добавление информации в таблицы с данными
Для отображения списка жильцов по определенному атрибуту на форме имеется кнопка Заполнить список и таблица для отображения информации. Если выбрать нужный атрибут и нажать на данную кнопку, таблица заполнится нужной информацией (Рисунок 19).
Рисунок 19 - Вывод полученного списка
ЗАКЛЮЧЕНИЕ
&nbs