Содержание
- 2. Двусторонние очереди - deque Двусторонняя очередь – последовательный контейнер, который поддерживает: произвольный доступ к элементам, как
- 3. Принцип организации двусторонней очереди Очередь разбита на блоки, доступ к которым осуществляется через массив указателей. При
- 4. Конструкторы создания двусторонней очереди По умолчанию explicit deque(); С заполнением n одинаковыми значениями, равными value explicit
- 5. Прочие методы аналогичны vector Операция присваивания =, метод присвоения assign Операция произвольного доступа к элементам [],
- 6. Пример использования двусторонней очереди deque d; for (int i = 0; i { d.push_back(i * i);
- 7. Двусвязный список - list Двусвязный список не предоставляет быстрого произвольного доступа к элементам, но реализует эффективно
- 8. Основные методы двусвязного списка (I) Получение первого элемента T& front(); Получение последнего элемента T& back(); Методы
- 9. Основные методы двусвязного списка (II) Методы изменения списка iterator insert(iterator pos, const T& value); void insert(iterator
- 10. Основные методы двусвязного списка (II) Методы сцепки списков – служат для перемещения элементов из одного списка
- 11. Основные методы двусвязного списка (III) Методы удаления элементов По значению элемента (удаляются все вхождения) void remove(const&
- 12. Основные методы двусвязного списка (IV) Методы удаления дубликатов элементов в отсортированном списке При наличии операции ==,
- 13. Пример использования двусвязного списка //Шаблонная функция печати элементов списка template ostream& operator & l) { for
- 14. Cтеки - stack Стек – не самостоятельный контейнер, он является адаптером одного из существующих контейнеров (vector,
- 15. Реализация стека в STL template > class stack { protected: Container c; public: explicit stack(const Container&
- 16. Пример использования стека stack st; for (int i = 0; i st.push(i); cout while (!st.empty()) {
- 17. Очереди - queue Очередь – не самостоятельный контейнер, он является адаптером одного из существующих контейнеров (deque,
- 18. Реализация очереди в STL template > class queue{ protected: Container c; public: explicit queue(const Container& _c
- 19. Пример использования очереди queue q; for (int i = 0; i q.push(i); cout cout while (!q.empty())
- 20. Очереди с приоритетами – priority_queue Очередь с приоритетами – очередь, в которой каждому элементу соответствует приоритет,
- 21. Реализация очереди с приоритетами в STL template , class Compare = less > class priority_queue{ protected:
- 22. Функциональные объекты сравнения (Бинарные предикаты) Параметр Compare является функциональным объектом, задающим операцию сравнения на меньше. Можно
- 23. Очереди с приоритетами и функциональные объекты По умолчанию в priority_queue используется функциональный объект less , который
- 24. Пример использования очереди с приоритетами и реализованной собственной операцией class Rectangle { public: double A, B;
- 25. Пример использования очереди с приоритетами и реализованной собственной операцией priority_queue q; q.push(Rectangle(1.0, 1.0)); q.push(Rectangle(3.0, 10.0)); q.push(Rectangle(2.0,
- 26. Пример использования очереди с приоритетами и собственным функциональным объектом сравнения ……//Определение класса Rectangle идет выше class
- 28. Скачать презентацию