Главная страница
Навигация по странице:

  • Контейнерные классы

  • Курс ООП в С презентация. ООП в с++(полный курс). Объекты и классы


    Скачать 1.76 Mb.
    НазваниеОбъекты и классы
    АнкорКурс ООП в С презентация
    Дата21.02.2022
    Размер1.76 Mb.
    Формат файлаppt
    Имя файлаООП в с++(полный курс).ppt
    ТипДокументы
    #368655
    страница23 из 26
    1   ...   18   19   20   21   22   23   24   25   26

    Контейнерные классы


    Методы класса stack:
      push ()- добавление в вершину стека;
      pop () - удаление из вершины;
      top () - просмотр элемента, находящегося в вершине стека;
      empty() – проверка пустой стек или нет;
      size () – возвращает количество элементов в стеке.

      Шаблонный класс queue (заголовочный файл ) является адаптером, который может быть реализован на основе двусторонней очереди (реализация по умолчанию) или списка. Класс vector в качестве класса-прототипа не подходит, поскольку в нем нет выборки из начала контейнера. Очередь использует для проталкивания данных один конец, а для выталкивания – другой
      Методы класса queue:

      push ()- добавление в конец очереди;
      pop ()– удаление из начала очереди;
      front ()– просмотр элемента, находящегося в начале очереди;
      back()– просмотр элемента, находящегося в конце очереди;
      empty ()– проверка пустая очередь или нет;
      size()– возвращает количество элементов в очереди

    Контейнерные классы


    Шаблонный класс priority_queue (заголовочный файл ) поддерживает такие же операции, как и класс queue, но реализация класса возможна либо на основе вектора (реализация по умолчанию), либо на основе списка. Очередь с приоритетами отличается от обычной очереди тем, что для извлечения выбирается максимальный элемент из хранимых в контейнере. Поэтому после каждого изменения состояния очереди максимальный элемент из оставшихся сдвигается в начало контейнера.
    Методы класса priority_queue: push(); pop(); front(); back(); empty(); size().
    //создание пустой очереди с приоритетами
    priority_queue p;
    p.push(17);
    P.push(5);
    P.push(400);
    P.push(2500);
    P.push(1);
    while (!P.empty())
    { cout << P.top() << ' '; //печать максимального элемента очереди
    P.pop(); } //удаление максимального элемента
    Результат работы программы:
    2500 400 17 5 1


    добавление элементов в очередь

    Контейнерные классы


    Алгоритмы
    Алгоритм – это функция, которая производит некоторые действия над элементами контейнера (контейнеров). Чтобы использовать обобщенные алгоритмы, нужно подключить к программе заголовочный файл .
    В табл. приведены наиболее популярные алгоритмы STL.


    алгоритм


    назначение


    accumulate


    вычисление суммы элементов в заданном диапазоне


    сору


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


    count


    подсчет количества вхождений значения в последовательность


    count_if


    подсчет количества выполнений условия в последовательности


    equal


    попарное равенство элементов двух последовательностей


    fill


    замена всех элементов заданным значением


    find


    нахождение первого вхождения значения в последовательность


    find_first_of


    нахождение первого значения из одной последовательности в другой


    find_if


    нахождение первого соответствия условию в последовательности


    for_each


    вызов функции для каждого элемента последовательности

    Контейнерные классы


    В списках параметров всех алгоритмов первые два параметра задают диапазон обрабатываемых элементов в виде полуинтервала [first, last), где first – итератор, указывающий на начало диапазона, a last - итератор, указывающий на выход за границы диапазона.


    алгоритм


    назначение


    merge


    слияние отсортированных последовательностей


    remove


    перемещение элементов с заданным значением


    replace


    замена элементов с заданным значением


    search


    нахождение первого вхождения в первую последовательность второй последовательности


    sort


    сортировка


    swap


    обмен двух элементов


    transform


    выполнение заданной операции над каждым элементом последовательности

    1   ...   18   19   20   21   22   23   24   25   26


    написать администратору сайта