Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие (ОАиП).doc
Скачиваний:
82
Добавлен:
11.05.2015
Размер:
3 Мб
Скачать

Глава 15. Динамические структуры данных 127

15.1. Линейные списки 127

15.2. Структура данных СТЕК 128

15.2.1. Алгоритм формирования стека 129

15.2.2. Алгоритм извлечения элемента из стека 131

15.2.3. Просмотр стека 131

15.2.4. Алгоритм освобождения памяти, занятой стеком 132

15.2.5. Алгоритм проверки правильности расстановки скобок 133

15.3. Структура данных ОЧЕРЕДЬ 133

15.3.1. Формирование очереди 134

15.3.2. Алгоритм удаления первого элемента из очереди 136

15.4. Двунаправленный линейный список 136

15.4.1. Формирование первого элемента 137

15.4.2. Добавление элементов в конец списка 138

15.4.3. Алгоритм просмотра списка 138

15.4.4. Алгоритм поиска элемента в списке по ключу 138

15.4.5. Алгоритм удаления элемента в списке по ключу 139

15.4.6. Алгоритм вставки элемента в список после элемента с указанным ключом 140

15.5. Нелинейные структуры данных 141

15.5.1. Бинарные деревья 142

15.5.2. Основные алгоритмы работы с бинарным деревом 143

15.5.3. Формирование дерева 144

15.5.4. Вставка нового элемента 144

15.5.5. Удаление узла 146

15.5.6. Алгоритмы обхода дерева 148

15.5.7. Функция просмотра 150

15.5.8. Освобождение памяти 150

15.6. Построение обратной польской записи 151

15.6.1. Алгоритм, использующий дерево 151

15.6.2. Алгоритм, использующий стек 152

15.6.3. Пример реализации 153

15.7. Понятие хеширования 156

15.7.1. Хеш-таблица и хеш-функции 156

15.7.2. Примеры хеш-функций 157

15.7.3. Схемы хеширования 159

15.7.4. Примеры реализации схем хеширования 160

ЗАДАНИЕ 8. Обработка списков 162

Вариант 1. Однонаправленные списки 162

Вариант 2. Двунаправленные списки 163

ЗАДАНИЕ 9. Деревья и польская запись 164

Вариант 1. Создание и обработка структур типа «дерево» 164

Вариант 2. Создание и использование польской записи 165

Глава 16. Переход к ооп 166

16.1. Потоковый ввод-вывод 166

16.2. Управление выводом 166

16.3. Проблема ввода-вывода кириллицы в среде Visual C++ 169

16.4. Операции new и delete 170

16.5. Дополнительные возможности при работе с пользовательскими функциями 172

16.6. Шаблоны функций 175

Советы по программированию 180

ЗАДАНИЕ 10. Перегрузка функций 181

Первый уровень сложности 181

Второй уровень сложности 182

ПРИЛОЖЕНИЕ 1. Таблицы символов ASCII 184

ПРИЛОЖЕНИЕ 2. Операции языка Си 185

ПРИЛОЖЕНИЕ 3. Возможности препроцессора 187

ПРИЛОЖЕНИЕ 4. Интегрированная среда программирования Visual C++ 191

ПРИЛОЖЕНИЕ 5. Некоторые возможности отладчика Visual C++ 198

ПРИЛОЖЕНИЕ 6. Некоторые возможности графической подсистемы 204

6.1. Основные понятия 204

6.2. Контекст устройства 204

6.3. Примитивы GDI 204

6.4. Пример вывода текста 205

6.5. Получение описателя контекста устройства 216

6.6. Основные инструменты графической подсистемы 217

6.7. Закрашивание пустот 223

6.8. Рисование линий и кривых 223

6.9. Пример изображения графика функции sin 225

6.10. Рисование замкнутых фигур 227

6.11. Функция Polygon и режим закрашивания многоугольника 229

6.12. Пример отображения линий 229

6.13. Управление областями вывода и отсечением 230

6.14. Растровая графика 233

ЗАДАНИЕ 11. Создание графических изображений 236

ЛИТЕРАТУРА 238