Скачиваний:
41
Добавлен:
05.07.2021
Размер:
254.16 Кб
Скачать

5 Скриншоты выполнения индивидуального задания

ВЫВОД

В ходе выполнения лабораторной работы были изучены понятия стандартной библиотеки шаблонов и адаптеры контейнеров, такие как адаптеры очередей, stack, контейнер-адаптер. Мы научились работать с данной библиотекой. Была разработана программа с использованием новых понятий, изученных в лабораторной работе. В программе были реализованы контейнеры, которые хранят в себе объекты классов по предметной области “учет товаров в аптеке”, были добавлены функции добавления, вывод содержимого на экран, редактирование. Использовалось меню.

Контейнер stack соответствует семантике LIFO (последним поступил — первым обслужен)

Контейнер queue соответствует семантике FIFO (первым поступил — первым обслужен).

Адаптер stack требует только функций push(), pop(), top(), поэтому для стека можно использовать контейнер любого из остальных типов.

Адаптеру queue требуются функции back(), front(), push(), pop()

Ответы на контрольные вопросы:

  1. Что собой представляет вектор (vector) в C++?

Векторы представляют собой динамические массивы. Класс vector поддерживает динамический массив, который при необходимости может увеличивать свой размер. Размер статического массива фиксируется во время компиляции.

  1. Что собой представляет список (list) в C++?

Список является контейнером с двунаправленным последовательным доступом к элементам. В отличие от вектора, в котором реализована поддержка произвольного доступа, список позволяет получать к своим элементам только последовательно.

  1. Что собой представляет отображение (map) в C++?

Отображение, таблица (map) — это ассоциативный контейнер. Класс map поддерживает ассоциативный контейнер. map может хранить только уникальные ключи. (хеш-таблица которая соотносит ключ и значение)

class map;

  1. В чем различие между контейнерами list, vector, map?

Ключ — это имя, которое присвоено некоторому значению. После того как значение сохранено в контейнере, к нему можно получить доступ, используя его ключ. Таким образом, в самом широком смысле отображение — это список пар "ключ-значение". Если известен ключ, то можно легко найти значение. Например, можно определить отображение, в котором в качестве ключа используется имя человека, а в качестве значения — его телефонный номер.

В отличие от вектора, в котором реализована поддержка произвольного доступа, список позволяет получать к своим элементам только последовательно.

  1. Что такое контейнер в библиотеке STL?

Контейнеры — это объекты, которые содержат в себе совокупность других объектов. Контейнеры можно разделить на три категории: последовательные контейнеры (sequence containers), ассоциативные контейнеры (associative containers) и адаптеры (adaptors) контейнеров.

  1. Что такое итератор в библиотеке STL?

Итераторы действуют подобно указателям. Они позволяют циклически опрашивать содержимое контейнера практически так же, как это делается с помощью указателя.

  1. Что такое алгоритм в библиотеке STL?

Алгоритмы представляют собой функции, которые обрабатывают содержимое контейнеров. Их возможности включают средства инициализации, сортировки, поиска, преобразования содержимого контейнеров.

  1. Что собой представляют ассоциативные и последовательные контейнеры? В чем между ними различие?

ассоциативные контейнеры, которые позволяют эффективно находить нужные значения на основе ключей.

vector определяет динамический массив, класс queue создает двустороннюю очередь, а класс list обеспечивает работу с линейным списком.

  1. Что такое итератор в STL? Какие виды итераторов существуют в библиотеке STL?

Итераторы действуют подобно указателям. Они позволяют циклически опрашивать содержимое контейнера практически так же, как это делается с помощью указателя

Существует пять типов итераторов.

Произвольного доступа (random access)

Двунаправленный итератор (bidirectional iterator)

Однонаправленный итератор (forward iterator)

Входные (input)

Выходные (output)

  1. Что представляет собой предикат в библиотеке STL?

Предикат (predicate) – функция, возвращающая в качестве результата значение ИСТИНА/ЛОЖЬ. Существует два варианта предикатов: унарный и бинарный. Унарный предикат принимает один аргумент, а бинарный — два. Эти функции возвращают значения ИСТИНА/ЛОЖЬ.

Соседние файлы в папке лабы Салапура 2ая часть (4 семестр)