БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Ахо, А.В. Структуры данных и алгоритмы/А.В. Ахо, Д.Д. Ульман, Д.Э. Хопкрофт; пер. с англ. и ред. А.А. Минько. — М.:Вильямс, 2000. — 384 с.

2. Болски, М.И. Язык программирования Си: справочник / М.И. Болски; пер. с англ. СВ. Денисенко. — М.: Радио и связь, 1988. — 96 с.

3. Вирт, Н. Алгоритмы и структуры данных/Н. Вирт; пер. с англ. — М.: Мир, 1989. —360 с.

4. Бочков, СО. Язык программирования Си для персонального компьютера / СО. Бочков, Д.М. Субботин. — М.: Радио и связь, 1990. — 384 с.

5. Громов, Ю.Ю. Программирование на языке Си: учебное пособие/ Ю.Ю. Громов, СИ. Татаренко. — Тамбов, 1995. — 169 с.

6. Давыдов, В.Г. Программирование и основы алгоритмизации: учебное пособие / В.Г. Давыдов. — М.: Высш. шк., 2003. — 447 с.

7. Керниган, Б. Язык программирования Си/ Б. Керниган, Д. Ритчи; пер. с англ. — СПб.: Нев. диалект, 2001 —351 с.

8. Кнут, Д.Э. Искусство программирования. В 3 т. Т 1. Основные алгоритмы / Д.Э. Кнут; пер. с англ. — 3-е изд. — М.: Издательский дом "Вильяме", 2000. — 720 с.

9. Кнут, Д.Э. Искусство программирования. В 3 т. Т 3: Сортировка и поиск / Д.Э. Кнут; пер. с англ. — 2-е изд. — М.: Издательский дом "Вильяме", 2000. — 832 с.

 

10. Кормен Т. Алгоритмы: построение и анализ / Т. Кормен, Ч. Лейзерсон, Р. Ривест; пер. с англ. А. Шеня. — М.: МЦНМО, 2001. — 955 с.

11. Лэнгсам, И. Структуры данных для персональных ЭВМ / И. Лэнгсам, М. Оренстайн, А. Тененбаум; пер. с англ. Л. П. Викторова и др. — М.: Мир, 1989. —586 с.

12. Подбельский, В.В. Программирование на языке Си: Учеб. Пособие/ В.В. Подбельский, С.С. Фомин. — 2-е изд., доп. — М.: Финансы и статистика, 2002. —600 с.

13. Седжвик, Р. Фундаментальные алгоритмы на C++: В 2 т. Т. 1: Анализ и структуры данных. Сортировка. Поиск / Р. Седжвик; пер. с англ. — М.; СПб; Киев: ДиаСофт, 2001. — 687 с.

14. Мартин, Д. Язык Си. Руководство для начинающих / Д. Мартин, С. Прата, М. Уэйт; пер. с англ. — М.: Мир, 1988. — 512 с.


ОГЛАВЛЕНИЕ

Предисловие..................................................................................................... 3

Глава 1. Язык программирования Си

§1.1. Введение в язык Си............................................................................ .. 4

§1.1. Структура программы....................................................................... 5

§1.2. Объекты языка Си и их типы............................................................. 7

§1.3. Простые объекты................................................................................ .. 7

§1.5. Операции............................................................................................. 11

§1.6. Ввод и вывод информации................................................................ .. 13

§1.7. Операторы.......................................................................................... .. 15

§1.8. Функции.............................................................................................. .. 23

§1.9. Прототипы функций........................................................................... 28

§1.10. Препроцессор................................................................................... 30

§1.11. Математические функции................................................................. 32

§1.12. Специальные операции..................................................................... 33

§1.13. Глобальные и локальные объекты................................................... .. 35

§1.14. Модификация объектов.................................................................... 38

§1.15. Указатели.......................................................................................... 40

§1.16. Модели памяти................................................................................. .. 43

§1.17. Массивы............................................................................................ 44

§1.18. Передача массива в функцию.......................................................... ... 49

§1.19. Многомерные массивы..................................................................... .. 50

§1.20. Динамическое распределение памяти.............................................. 52

§1.21. Динамическое распределение памяти под массивы........................ 54

§1.21. Массивы указателей......................................................................... .. 57

§1.22. Структуры........................................................................................ 60

§1.23. Объединения..................................................................................... 63

§1.25. Битовые поля.................................................................................... ... 65

§1.26. Указатели и структуры.................................................................... .. 66

§1.27. Классификация функций ввода-вывода........................................... 70

§1.28. Функции ввода-вывода высокого уровня....................................... .. 71

§1.29. Работа с файлами данных................................................................ .. 75

§1.30. Функции обработки строк............................................................... .. 80

§1.31. Работа со строками........................................................................... 81

§1.31. Логический тип данных.................................................................... .. 93

§1.32. Программная реализация стека....................................................... 95

Глава 2. Структуры данных

§2.1. Введение в структуры данных........................................................... .. 105

§2.1. Стек..................................................................................................... .. 105

§2.2. Однонаправленные связанные списки........................... .. 113

§2.3. Однонаправленные циклические списки.......................... 116

§2.5. Двунаправленные связанные списки............................ .. 117

§2.6. Очереди................................................ .. 125


§2.7. Бинарные деревья............................................................................... ... 131

Глава 3. Сортировка и поиск

§3.1. Введение в поиск................................................................................. ... 139

§3.1. Последовательный поиск.................................................................... 139

§3.2. Поиск в упорядоченной таблице....................................................... ... 140

§3.3. Хеширование таблиц.......................................................................... 142

§3.5. Введение в сортировку...................................................................... 144

§3.6. Сортировка с помощью прямого включения.................................... .. 145

§3.7. Сортировка с помощью прямого выбора......................................... ... 147

§3.8. Сортировка с помощью прямого обмена......................................... ... 149

§3.9. Сортировка включениями с убывающим приращением.................. 151

§3.10. Сортировка с помощью дерева....................................................... 153

§3.11. Пирамидальная сортировка............................................................. ... 154

§3.11. Быстрая сортировка.......................................................................... 160

§3.12. Сравнение методов сортировки массивов...................................... ... 163

§3.13. Сортировка файлов методом прямого слияния.............................. 164

Библиографический список............................................................................. .. 173


Электронное издание

Сергей Тимурович Касюк

КУРС ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ СИ

Конспект лекций

Издательский центр Южно-Уральского государственного

университета

Подписано в печать 09.04.2010. Формат 60x84 1/16. Усл. печ. л. 10,23. Уч.-изд. л. 10,38. Заказ 109.