🗊 Презентация контейнеры STL

Нажмите для полного просмотра!
контейнеры STL, слайд №1 контейнеры STL, слайд №2 контейнеры STL, слайд №3 контейнеры STL, слайд №4 контейнеры STL, слайд №5 контейнеры STL, слайд №6 контейнеры STL, слайд №7 контейнеры STL, слайд №8 контейнеры STL, слайд №9 контейнеры STL, слайд №10 контейнеры STL, слайд №11 контейнеры STL, слайд №12 контейнеры STL, слайд №13 контейнеры STL, слайд №14 контейнеры STL, слайд №15 контейнеры STL, слайд №16 контейнеры STL, слайд №17 контейнеры STL, слайд №18 контейнеры STL, слайд №19 контейнеры STL, слайд №20 контейнеры STL, слайд №21 контейнеры STL, слайд №22 контейнеры STL, слайд №23 контейнеры STL, слайд №24 контейнеры STL, слайд №25 контейнеры STL, слайд №26 контейнеры STL, слайд №27 контейнеры STL, слайд №28 контейнеры STL, слайд №29 контейнеры STL, слайд №30 контейнеры STL, слайд №31 контейнеры STL, слайд №32 контейнеры STL, слайд №33 контейнеры STL, слайд №34 контейнеры STL, слайд №35 контейнеры STL, слайд №36 контейнеры STL, слайд №37 контейнеры STL, слайд №38 контейнеры STL, слайд №39 контейнеры STL, слайд №40 контейнеры STL, слайд №41 контейнеры STL, слайд №42 контейнеры STL, слайд №43 контейнеры STL, слайд №44 контейнеры STL, слайд №45 контейнеры STL, слайд №46 контейнеры STL, слайд №47 контейнеры STL, слайд №48 контейнеры STL, слайд №49 контейнеры STL, слайд №50 контейнеры STL, слайд №51 контейнеры STL, слайд №52 контейнеры STL, слайд №53 контейнеры STL, слайд №54 контейнеры STL, слайд №55 контейнеры STL, слайд №56 контейнеры STL, слайд №57 контейнеры STL, слайд №58

Содержание

Вы можете ознакомиться и скачать презентацию на тему контейнеры STL. Доклад-сообщение содержит 58 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Тема 16 Контейнеры STL
Описание слайда:
Тема 16 Контейнеры STL

Слайд 2


STL (standard template library) – библиотека стандартных методов и классов, входящая в состав любой системы программирования, основанной на языке...
Описание слайда:
STL (standard template library) – библиотека стандартных методов и классов, входящая в состав любой системы программирования, основанной на языке C++. Эта библиотека основана на шаблонах. STL (standard template library) – библиотека стандартных методов и классов, входящая в состав любой системы программирования, основанной на языке C++. Эта библиотека основана на шаблонах. В состав STL входят: потоковые классы; классы для работы со строками (string); контейнерные классы; итераторы и алгоритмы для работы с контейнерными классами; математические классы; диагностические классы (в т.ч. класс exception); прочие классы.

Слайд 3


Для чего нужны контейнерные классы? Контейнерные классы реализуют наиболее распространенные модели обработки и хранения данных. Они предназначены для...
Описание слайда:
Для чего нужны контейнерные классы? Контейнерные классы реализуют наиболее распространенные модели обработки и хранения данных. Они предназначены для хранения однородных данных. Элементом контейнера могут быть как стандартные типы, так и типы, определяемые пользователем. Если в качестве элемента контейнера выступает определенный пользователем класс, этот класс должен содержать правильный конструктор без параметров, конструктор копирования и реализацию операции присваивания.

Слайд 4


Классификация контейнеров
Описание слайда:
Классификация контейнеров

Слайд 5


Различия в типах контейнеров Последовательные контейнеры обеспечивают хранение однотипных величин в виде непрерывной последовательности, т.е....
Описание слайда:
Различия в типах контейнеров Последовательные контейнеры обеспечивают хранение однотипных величин в виде непрерывной последовательности, т.е. определены понятия "начальный элемент", "конечный элемент", "предыдущий элемент", "последующий элемент "; Использование ассоциативных контейнеров предполагает, что в хранимых данных выделяется ключ, который определяет конкретный элемент хранимых данных, и неключевая информация. Ассоциативные контейнеры обеспечивают быстрый доступ к данным по значениям ключа.

Слайд 6


Различия в типах контейнеров Адаптеры реализованы на основе базовых последовательных контейнеров и предназначены для выполнения ограниченного набора...
Описание слайда:
Различия в типах контейнеров Адаптеры реализованы на основе базовых последовательных контейнеров и предназначены для выполнения ограниченного набора операций. Каждый адаптер строится с использованием механизма реализации конкретного базового класса.

Слайд 7


Создание контейнеров Для создания контейнера необходимо в качестве параметра шаблона указать тип данных, хранящихся в шаблоне: vector v; Для создания...
Описание слайда:
Создание контейнеров Для создания контейнера необходимо в качестве параметра шаблона указать тип данных, хранящихся в шаблоне: vector v; Для создания адаптера, кроме типа данных, можно указывать базовый контейнер, используемый для создания адаптера: stack s1; // базовый контейнер – deque stack s2;

Слайд 8


Итераторы Итератор используется для доступа к элементам контейнера. Итератор является аналогом указателя на элемент, хотя физическая природа...
Описание слайда:
Итераторы Итератор используется для доступа к элементам контейнера. Итератор является аналогом указателя на элемент, хотя физическая природа итератора может и не предполагать хранение адресов. Все, что требуется от итератора – уметь ссылаться на элемент контейнера и обеспечить переход к другому элементу (чаще всего к последующему или к предыдущему). Итераторы делятся на прямые и реверсивные. Прямые итераторы используются при переходах от первого к последнему элементу контейнера, реверсивные – в обратном порядке.

Слайд 9


Определение итераторов Итератор описан в каждом контейнере как вспомогательный класс, поэтому при определении итератора необходимо указывать...
Описание слайда:
Определение итераторов Итератор описан в каждом контейнере как вспомогательный класс, поэтому при определении итератора необходимо указывать контейнер, для которого итератор будет использоваться: vector :: iterator i1; // правильно vector :: iterator i2; // неправильно iterator i3; // неправильно Можно сделать и так: typedef vector :: iterator it_vint; it_vint i1, i2, i3;

Слайд 10


Действительные и недействительные итераторы Итераторы могут быть действительными и недействительными. Действительный итератор связан с конкретным...
Описание слайда:
Действительные и недействительные итераторы Итераторы могут быть действительными и недействительными. Действительный итератор связан с конкретным элементом контейнера, и мы можем получить доступ к этому элементу, используя итератор. С недействительными итераторами так поступать нельзя. Итераторы становятся недействительными: после определения, но до инициализации; при выходе за границы контейнера; после удаления элемента, с которым был связан итератор; после вставки в вектор и deque (иногда); в результате присвоения значения метода end(), rend().

Слайд 11


Основные операции над итераторами Пусть i – итератор, n – целое число, c - контейнер Все итераторы *i – получение доступа к элементу контейнера, с...
Описание слайда:
Основные операции над итераторами Пусть i – итератор, n – целое число, c - контейнер Все итераторы *i – получение доступа к элементу контейнера, с которым связан итератор; i++ – после этой операции итератор становится связанным со следующим элементом контейнера i+n – перемещение итератора на n элементов (при этом возможен выход за границы контейнера!). Для итераторов, связанных с контейнером list, эта операция недопустима i1 = i2 – присваивание i1 == i2, i1 != i2 – сравнение (других операций сравнения нет!)

Слайд 12


Основные операции над итераторами Пусть i – итератор, n – целое число, c – контейнер Прямые итераторы i = c.begin() – итератор связывается с первым...
Описание слайда:
Основные операции над итераторами Пусть i – итератор, n – целое число, c – контейнер Прямые итераторы i = c.begin() – итератор связывается с первым элементом контейнера c; i = c.end() – итератор связывается с фиктивным элементом контейнера c, который «стоит» за последним элементом. Итератор i становится недействительным!

Слайд 13


Основные операции над итераторами Реверсивные итераторы i = c.rbegin() – итератор связывается с последним элементом контейнера c; i = c.rend() –...
Описание слайда:
Основные операции над итераторами Реверсивные итераторы i = c.rbegin() – итератор связывается с последним элементом контейнера c; i = c.rend() – итератор связывается с фиктивным элементом контейнера c, который «стоит» перед первым элементом. Итератор i становится недействительным!

Слайд 14


Примеры работы с итераторами просмотр всех элементов списка просмотр всех элементов списка в обратном порядке
Описание слайда:
Примеры работы с итераторами просмотр всех элементов списка просмотр всех элементов списка в обратном порядке

Слайд 15


Интервал Интервал – несколько подряд идущих элементов контейнера. Интервал задаётся двумя итераторами i1 и i2. Итератор i1 связан с первым элементом,...
Описание слайда:
Интервал Интервал – несколько подряд идущих элементов контейнера. Интервал задаётся двумя итераторами i1 и i2. Итератор i1 связан с первым элементом, входящим в интервал, а i2 – с элементом, стоящим за последним элементом интервала. Если i2 == c.end(), то в интервал входят последние элементы контейнера. Если i1 == i2, то интервал пуст.

Слайд 16


Операции над последовательными контейнерами Следующие операции допустимы над всеми последовательными контейнерами: вставка в начало контейнера (перед...
Описание слайда:
Операции над последовательными контейнерами Следующие операции допустимы над всеми последовательными контейнерами: вставка в начало контейнера (перед первым элементом) – push_front; вставка в конец контейнера (после последнего элемента) – push_back; удаление начального элемента – pop_front; удаление последнего элемента – pop_back; вставка в произвольное место – insert; удаление из произвольного места – erase; доступ к элементу по его индексу – at или [].

Слайд 17


Допустимость и трудоёмкость операций для различных типов последовательных контейнеров
Описание слайда:
Допустимость и трудоёмкость операций для различных типов последовательных контейнеров

Слайд 18


Основные типы, используемые при работе с последовательными контейнерами
Описание слайда:
Основные типы, используемые при работе с последовательными контейнерами

Слайд 19


Параметры и результаты операций над последовательными контейнерами
Описание слайда:
Параметры и результаты операций над последовательными контейнерами

Слайд 20


Параметры и результаты операций над последовательными контейнерами
Описание слайда:
Параметры и результаты операций над последовательными контейнерами

Слайд 21


Параметры и результаты операций над последовательными контейнерами
Описание слайда:
Параметры и результаты операций над последовательными контейнерами

Слайд 22


Параметры и результаты операций над последовательными контейнерами
Описание слайда:
Параметры и результаты операций над последовательными контейнерами

Слайд 23


Конструкторы последовательных контейнеров (на примере vector)
Описание слайда:
Конструкторы последовательных контейнеров (на примере vector)

Слайд 24


Примеры работы с последовательными контейнерами
Описание слайда:
Примеры работы с последовательными контейнерами

Слайд 25


Примеры работы с последовательными контейнерами
Описание слайда:
Примеры работы с последовательными контейнерами

Слайд 26


Примеры работы с последовательными контейнерами
Описание слайда:
Примеры работы с последовательными контейнерами

Слайд 27


Особенности работы с контейнером vector
Описание слайда:
Особенности работы с контейнером vector

Слайд 28


Примеры управления распределением памяти
Описание слайда:
Примеры управления распределением памяти

Слайд 29


Примеры управления распределением памяти (продолжение)
Описание слайда:
Примеры управления распределением памяти (продолжение)

Слайд 30


Примеры управления распределением памяти (продолжение)
Описание слайда:
Примеры управления распределением памяти (продолжение)

Слайд 31


Особенности работы с контейнером list
Описание слайда:
Особенности работы с контейнером list

Слайд 32


Особенности работы с контейнером list
Описание слайда:
Особенности работы с контейнером list

Слайд 33


Примеры работы с контейнером list
Описание слайда:
Примеры работы с контейнером list

Слайд 34


Примеры работы с контейнером list (продолжение)
Описание слайда:
Примеры работы с контейнером list (продолжение)

Слайд 35


Примеры работы с контейнером list (продолжение)
Описание слайда:
Примеры работы с контейнером list (продолжение)

Слайд 36


Примеры работы с контейнером list (продолжение)
Описание слайда:
Примеры работы с контейнером list (продолжение)

Слайд 37


Адаптеры
Описание слайда:
Адаптеры

Слайд 38


Адаптеры По умолчанию приоритет элемента, помещаемого в priopity_queue – его значение
Описание слайда:
Адаптеры По умолчанию приоритет элемента, помещаемого в priopity_queue – его значение

Слайд 39


Пример работы с адаптером priority_queue
Описание слайда:
Пример работы с адаптером priority_queue

Слайд 40


Пример работы с адаптером priority_queue (продолжение)
Описание слайда:
Пример работы с адаптером priority_queue (продолжение)

Слайд 41


Ассоциативные контейнеры
Описание слайда:
Ассоциативные контейнеры

Слайд 42


Типы ассоциативных контейнеров
Описание слайда:
Типы ассоциативных контейнеров

Слайд 43


Вспомогательный класс pair template class pair { T1 first; T2 second; }; template pair make_pair (T1 a, T2 b);
Описание слайда:
Вспомогательный класс pair template class pair { T1 first; T2 second; }; template pair make_pair (T1 a, T2 b);

Слайд 44


Работа с контейнером map Класс map является шаблоном, зависящим от двух или трех параметров: типа ключа; типа неключевых данных; функционального...
Описание слайда:
Работа с контейнером map Класс map является шаблоном, зависящим от двух или трех параметров: типа ключа; типа неключевых данных; функционального класса, определяющего правила сравнения ключей (если для ключевого класса определена стандартная операция «меньше», третий параметр указывать не обязательно).

Слайд 45


Примеры описаний контейнера map #include using namespace std; map m1; // ключ целое число, неключевые данные – строки map m2; // использование...
Описание слайда:
Примеры описаний контейнера map #include using namespace std; map m1; // ключ целое число, неключевые данные – строки map m2; // использование стандартного функционального // класса greater позволяет сортировать по // убыванию map m3; // неключевые данные – структура из двух полей

Слайд 46


Пример работы с контейнером map Задача: Вывести на консоль количество, а также все элементы контейнера в порядке убывания ключей typedef map m2;...
Описание слайда:
Пример работы с контейнером map Задача: Вывести на консоль количество, а также все элементы контейнера в порядке убывания ключей typedef map m2; typedef map :: iterator it_m2; m2 M2; void WriteMap(m2 L) { cout

Слайд 47


Пример работы с контейнером map (продолжение) int main() { M2.insert(make_pair(15, "fifteen")); M2.insert(make_pair(10, "ten"));...
Описание слайда:
Пример работы с контейнером map (продолжение) int main() { M2.insert(make_pair(15, "fifteen")); M2.insert(make_pair(10, "ten")); M2.insert(make_pair(50, "fifty")); WriteMap(M2); return 0; }

Слайд 48


Реализация телефонной книги контейнером map Ключ: информация о владельце контакта (ФИО, название учреждения, ник) Неключевые данные: информация о...
Описание слайда:
Реализация телефонной книги контейнером map Ключ: информация о владельце контакта (ФИО, название учреждения, ник) Неключевые данные: информация о контакте (номер телефона, e-mail) typedef map phb; typedef phb::iterator phb_it; phb Phb;

Слайд 49


Перегрузка операции индексации для контейнера map В классе map переопределена операция взятия индекса T& operator[](const Key&) так, что с помощью...
Описание слайда:
Перегрузка операции индексации для контейнера map В классе map переопределена операция взятия индекса T& operator[](const Key&) так, что с помощью этой операции можно осуществлять поиск данных по ключу или изменять содержимое неключевых данных. Эта же операция дает возможность вставлять новый элемент контейнера Phb[”kash”] = ”123456789”; // вставляем новый элемент с ключом ”kash” // и номером телефона ”123456789” cout

Слайд 50


Другие методы ассоциативных контейнеров
Описание слайда:
Другие методы ассоциативных контейнеров

Слайд 51


Другие методы ассоциативных контейнеров (продолжение)
Описание слайда:
Другие методы ассоциативных контейнеров (продолжение)

Слайд 52


Другие методы ассоциативных контейнеров (продолжение)
Описание слайда:
Другие методы ассоциативных контейнеров (продолжение)

Слайд 53


Примеры работы с телефонной книгой 1. Найти телефон по фамилии или выдать сообщение об отсутствии данных. cout > N1; phb_it i = Phb.find(N1); cout
Описание слайда:
Примеры работы с телефонной книгой 1. Найти телефон по фамилии или выдать сообщение об отсутствии данных. cout > N1; phb_it i = Phb.find(N1); cout

Слайд 54


Примеры работы с телефонной книгой (продолжение) 3. Вставить новый элемент по паре «ключ – неключевые данные»....
Описание слайда:
Примеры работы с телефонной книгой (продолжение) 3. Вставить новый элемент по паре «ключ – неключевые данные». Phb.insert(phb::value_type("kirill","2353555")); 4. Удалить все записи с пустыми номерами телефонов. phb_it i, j; for (i=Phb.begin(); i != Phb.end();) { j=i; i++; if ((*j).second.length()==0) { cout

Слайд 55


Класс multimap
Описание слайда:
Класс multimap

Слайд 56


Примеры работы с классом multimap
Описание слайда:
Примеры работы с классом multimap

Слайд 57


Примеры работы с классом multimap (продолжение)
Описание слайда:
Примеры работы с классом multimap (продолжение)

Слайд 58


Классы set, multiset
Описание слайда:
Классы set, multiset



Похожие презентации
Mypresentation.ru
Загрузить презентацию