Пользовательские типы данных (C++). Лекция 7 по основам программирования презентация
Содержание
- 2. ПОЛЬЗОВАТЕЛЬСКИЕ ТИПЫ ДАННЫХ Пользовательские типы данных можно создать с помощью: структуры
- 3. ОПЕРАТОР TYPEDEF Оператор typedef определяет новое имя для уже существующего типа.
- 4. СТРУКТУРЫ Структура — это совокупность переменных, объединенных под одним именем.
- 5. STRUCT struct тег { тип имя-члена; тип имя-члена; тип имя-члена; .
- 6. СТРУКТУРЫ struct addr { char name[30]; char street[40]; char city[20]; char
- 7. СТРУКТУРЫ Доступ к отдельным элементам структуры осуществляется с помощью оператора .
- 8. АНАЛИЗ ПРОГРАММЫ int main() { struct { int a;
- 9. АНАЛИЗ ПРОГРАММЫ // объявление массива структур struct addr addr_list[100]; // объявление
- 10. АНАЛИЗ ПРОГРАММЫ struct Phone { char* name; long phoneNumber;
- 11. БИТОВЫЕ ПОЛЯ Битовые поля — это особый вид полей структуры. Они
- 12. БИТОВЫЕ ПОЛЯ struct Options { bool centerX:1; bool centerY:1;
- 13. ОБЪЕДИНЕНИЯ Объединение (union) представляет собой частный случай структуры, все поля которой
- 14. ОБЪЕДИНЕНИЯ struct Options { bool centerX:1; bool centerY:1;
- 15. ОБЪЕДИНЕНИЯ Ограничения объединений (по сравнению со структурами): объединение может инициализироваться только
- 16. ПЕРЕЧИСЛЕНИЯ Перечисление — это набор именованных целых констант. enum тег {список
- 17. ПЕРЕЧИСЛЕНИЯ /* penny (пенни, монета в один цент) nickel (никель, монета
- 18. ПЕРЕЧИСЛЕНИЯ enum Err {ERR_READ, ERR_WRITE, ERR_CONVERT}; Err error; // ... switch
- 19. ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ Если до начала работы с данными невозможно определить,
- 20. ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ Механизм доступа (data engine) к данным –механизм сохранения
- 21. ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ Динамические структуры данных (списки, стеки, очереди, деревья) различаются
- 22. ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ Элемент любой динамической структуры данных представляет собой структуру
- 23. ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ Описание простейшего элемента (компоненты, узла) динамической структуры:
- 24. СПИСКИ Списком называется упорядоченное множество, состоящее из переменного числа элементов, к
- 25. СПИСКИ Самый простой способ связать множество элементов — сделать так, чтобы
- 26. СПИСКИ Каждый элемент списка содержит ключ, идентифицирующий этот элемент. Ключ обычно
- 27. СВЯЗНЫЕ ЛИНЕЙНЫЕ СПИСКИ INF - информационное поле, данные NEXT - указатель
- 28. СВЯЗНЫЕ ЛИНЕЙНЫЕ СПИСКИ Линейный двусвязный список: Наличие двух указателей в каждом
- 29. СВЯЗНЫЕ ЛИНЕЙНЫЕ СПИСКИ Кольцевой список (может быть организован на основе как
- 30. ОПЕРАЦИИ НАД СПИСКАМИ начальное формирование списка (создание первого элемента); добавление элемента
- 31. РЕАЛИЗАЦИЯ ОПЕРАЦИЙ НАД ЛИНЕЙНЫМИ СПИСКАМИ Вставка элемента в середину 1-связного списка
- 32. РЕАЛИЗАЦИЯ ОПЕРАЦИЙ НАД ЛИНЕЙНЫМИ СПИСКАМИ Вставка элемента в середину 2-связного списка
- 33. РЕАЛИЗАЦИЯ ОПЕРАЦИЙ НАД ЛИНЕЙНЫМИ СПИСКАМИ Удаление элемента из 1-связного списка
- 34. РЕАЛИЗАЦИЯ ОПЕРАЦИЙ НАД ЛИНЕЙНЫМИ СПИСКАМИ Перестановка элементов 1-связного списка Изменчивость динамических
- 35. ВОЗМОЖНЫЕ ОПЕРАЦИИ НАД ТИПОМ ДАННЫХ «СПИСОК» end(l) — вернуть позицию, следующую
- 36. АНАЛИЗ ПРОГРАММЫ //Описание структуры элемента списка struct Node { int d;
- 37. АНАЛИЗ ПРОГРАММЫ // Формирование первого элемента Node * first(int d)
- 38. АНАЛИЗ ПРОГРАММЫ // Добавление в конец списка void add(Node **pend,
- 39. АНАЛИЗ ПРОГРАММЫ // Поиск элемента по ключу Node * find(Node
- 40. АНАЛИЗ ПРОГРАММЫ // Вставка элемента Node * insert(Node * const
- 41. АНАЛИЗ ПРОГРАММЫ // Удаление элемента bool remove(Node **pbeg, Node **pend, int
- 42. СРАВНЕНИЕ ОПЕРАЦИЙ НАД СТРУКТУРАМИ ДАННЫХ Сравнение операций над статическими массивами, динамическими
- 43. ДОСТОИНСТВА СПИСКОВ лёгкость добавления и удаления элементов размер ограничен только объёмом
- 44. НЕДОСТАТКИ СПИСКОВ сложность определения адреса элемента по его индексу (номеру) в
- 45. АБСТРАКТНЫЕ ПРИНЦИПЫ ОБРАБОТКИ СПИСКОВ FIFO (First In, First Out)
- 46. ОЧЕРЕДИ Очередь — это частный случай линейного 1-связного списка, добавление элементов
- 47. ОЧЕРЕДИ Типичные операции: void push(const value_type&) - добавить элемент void pop()
- 48. СТЕКИ Стек — это частный случай линейного 1-связного списка, добавление элементов
- 49. СТЕКИ Типичные операции: void push(const value_type&) - добавить элемент
- 50. ЗАДАЧИ (СПИСКИ) 1) Написать программу, выводящую элемент списка по его номеру.
- 52. Скачать презентацию
Слайды и текст этой презентации
Скачать презентацию на тему Пользовательские типы данных (C++). Лекция 7 по основам программирования можно ниже: