- •Фгбоу впо Кубанский государственный технологический университет
- •Пояснительная записка
- •Фгбоу впо Кубанский Государственный Технологический Университет
- •Задание
- •2.1 Двусвязный циклический список
- •2.2 Основные действия, производимые над узлами двусвязного циклического списка (дцс)
- •Реферат
- •Содержание
- •Введение
- •1 Постановка задачи
- •2 Описание методов решения
- •Инициализация дцс:
- •Добавление узла в дцс:
- •Удаление узла дцс:
- •Вывод элементов дцс:
- •Вывод элементов дцс в обратном порядке:
- •Взаимообмен узлов дцс:
- •2.3 Стандартные функции для двусвязного списка
- •3 Описание реализации программы
- •4 Тестирование и результаты работы
- •Заключение
- •Список использованных источников
- •Приложение а. Исходный код программы
Реферат
Пояснительная записка курсовой работы содержит 24 с., 9 рис., 4 источника, 1 приложение.
СПИСКИ, ДВУСВЯЗНЫЕ ЦИКЛИЧЕСКИЕ СПИСКИ,СТРУКТУРА ДАННЫХ, УЗЛЫ ЦИКЛИЧЕСКОГО СПИСКА.
В данной курсовой работе рассмотрены двусвязные циклические списки, основные действия, производимые над узлами двусвязного циклического списка, а также стандартные функции для двусвязного списка.
Объектом исследования являются двусвязные циклические списки.
Цель работы состоит в изучении работы двусвязных циклических списков и реализация их програмно.
К полученным результатам относится класс, реализующий двусвязный циклический список и програма, демонстрирующая его работу.
Содержание
Введение 5
1 Постановка задачи 6
2 Описание методов решения 6
2.1 Двусвязный циклический список 6
2.2 Основные действия, производимые над узлами двусвязного циклического списка (ДЦС) 7
2.3 Стандартные функции для двусвязного списка 15
3 Описание реализации программы 17
4 Тестирование и результаты работы 22
Заключение 23
Список использованных источников 24
Приложение А. Исходный код программы 25
Введение
Двусвязный циклический список – список, при котором первый элемент является следующим для последнего элемента списка.
Исследование двусвязного циклического списка является актуальным, потому что имеет ряд преимуществ и во многом упрощает работу программы. Такими преимуществами являются:
добавление нового узла в определённую позицию,
удаление i-того элемента из последовательности,
просмотр списка в обоих направлениях.
В результате проведения данного исследования, будут рассмотрены двусвязные циклические списки, основные действия, производимые над узлами двусвязного циклического списка, стандартные функции для двусвязного списка, а также построена программа, использующая пинцип двусвязных циклических списков.
1 Постановка задачи
Выполнить программную реализацию двусвязного циклического списка. Необходимо организовать заданную структуру данных. Определить структуру элемента и написать подпрограммы добавления, удаления и чтения элемента. Написать тестовую программу.
2 Описание методов решения
2.1 Двусвязный циклический список
Связный список (англ. List) — структура данных, состоящая из элементов, содержащих помимо собственных данных ссылки на следующий и/или предыдущий элемент списка. С помощью списков можно реализовать такие структуры данных как стек и очередь.
Каждый узел двунаправленного (двусвязного) циклического списка (ДЦС) содержит два поля указателей - на следующий и на предыдущий узлы. Указатель на предыдущий узел корня списка содержит адрес последнего узла. Указатель на следующий узел последнего узла содержит адрес корня списка.
Рисунок1 – Узлы ДЦС и поля указателей
Узел ДЦС можно представить в виде структуры, аналогичной двусвязному линейному списку:
struct list {
int field; // поле данных
struct list *next; // указатель на следующий элемент
struct list *prev; // указатель на предыдущий элемент };
2.2 Основные действия, производимые над узлами двусвязного циклического списка (дцс)
Над узлами двусвязного циклического списка можно производить следующие действия:
Инициализация списка
Добавление узла в список
Удаление узла из списка
Вывод элементов списка
Вывод элементов списка в обратном порядке
Взаимообмен двух узлов списка
