Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DSD_Spiskovye_struktury_dannykh_na_baze_massivo...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.59 Mб
Скачать

188

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

Черниговский государственный технологический университет

СПИСКОВЫЕ СТРУКТУРЫ ДАННЫХ НА БАЗЕ МАССИВОВ УКАЗАТЕЛЕЙ В С++

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

к курсовому проектированию по дисциплине

"Структуры и алгоритмы обработки данных"

для студентов направления 6.050102 - "Компьютерная инженерия"

Утверждено

на заседании кафедры

информационных и компьютерных систем

Протокол N __ от __.__.2011

Чернигов ЧГТУ 2011

Спискові структури даних на базі масивів вказівників в С++. Методичні вказівки до курсового проектування з дисципліни "Структури та алгоритми обробки даних" для студентів напрямку 6050102 - "Комп'ютерна інженерія”. / Укл. В.І.Павловський, Н.О. Гора, Д.В.Победа, М.О.Скоп. - Чернігів: ЧДТУ, 2011.-181 с. Рос. мовою.

Составители: В.И. Павловский, канд. техн. наук, доцент

Н.О. Гора, старший преподаватель

Д.В. Победа, ассистент

М.А. Скоп, ассистент

Ответственный за выпуск: В.В. Казимир, зав. кафедрой информационных и компьютерных систем доктор технических. наук, профессор

Рецензент: С.О. Нестеренко, канд. техн. наук, доцент кафедры информационных и компьютерных систем

Содержание

ВВЕДЕНИЕ 9

1 Списковые структуры и динамическая память 10

1.1 ПРЕДСТАВЛЕНИЯ ОДНОНАПРАВЛЕННЫХ СПИСКОВ МАССИВАМИ УКАЗАТЕЛЕЙ НА ЭЛЕМЕНТЫ СПИСКА 10

1.1.1 Представление однонаправленных списков массивами указателей 10

1.1.2 Статические массивы указателей 11

1.1.3 Операции со списками в статических массивах указателей 14

1.1.4 Статические массивы указателей в динамической памяти 22

1.1.5 Операции со списками в статических массивах указателей в динамической памяти 29

1.1.6 Динамические массивы указателей 36

1.1.7 Динамические массивы типизированных указателей 36

1.1.8 Операции со списками в динамических массивах типизированных указателей 39

1.1.9 Динамические массивы нетипизированных указателей 46

1.1.10 Операции со списками в динамических массивах нетипизированных указателей 50

1.1.11 Продолжение. Динамические массивы нетипизированных указателей 58

1.1.12 Замечания по оператору & 62

1.1.13 Нетипизированые указатели и массивы 64

1.1.14 Нетипизированые указатели и память 68

1.1.15 Продолжение. Динамические массивы нетипизированных указателей 70

2 Списковые структуры и файлы 79

2.1 БЕСТИПОВЫЕ ФАЙЛЫ И ОДНОНАПРАВЛЕННЫЕ СПИСКИ НА БАЗЕ МАССИВОВ УКАЗАТЕЛЕЙ НА ЭЛЕМЕНТЫ СПИСКА 79

2.1.1 Представление однонаправленных списков массивами указателей 79

2.1.2 Организация файла с однонаправленным списком на базе массивов указателей на элементы списка 80

2.1.3 Статические и динамические массивы указателей 85

2.1.4 Организация списка дыр 87

2.1.5 Функция инициализации файла со списком 89

2.1.6 Функция открытия файла со списком 90

2.1.7 Функции корректировки указателя на начало списка, заголовка списка дыр, количества элементов списка и текщего размера массива указателей 91

2.1.8 Функция выделения записи для нового элемента списка 92

2.1.9 Функция освобождения записи удаляемого элемента списка 93

2.1.10 Функция увеличения размера массива указателей на элементы списка 93

2.1.11 Функция вывода содержимого списка 95

2.1.12 Функция поиска элемента списка 95

2.1.13 Функция добавления элемента в неотсортированный список 98

2.1.14 Функция добавления элемента в отсортированный список 99

2.1.15 Функция удаления элемента из отсортированного списка 100

2.1.16 Функция удаления списка 101

2.1.17 Функция удаления списка с усечением файла 102

2.1.18 Пример программы обработки отсортированного списка на базе массивов указателей 103

2.1.19 Продолжение. Представление однонаправленных списков массивами указателей 109

2.1.20 Функция инициализации файла со списком 112

2.1.21 Процедура открытия файла со списком 113

2.1.22 Процедура корректировки заголовка списка 114

2.1.23 Процедура увеличения размера массива указателей на элементы списка 114

2.1.24 Функция поиска элемента списка или позиции вставки нового элемента методом половинного деления 115

2.1.25 Функция вывода списка на экран 117

2.1.26 Функция добавления нового элемента в отсортированный список 117

2.1.27 Функция удаления элемента из отсортированного списка 119

2.1.28 Функция удаления списка с усечением файла 120