Строение класса queue. Операции

   
На этом шаге мы перечислим операции, использованные при создании класса queue.

   
Перечислим операции, используемые при работе с очередью:

  • очередь::queue ()
    

    Конструктор по умолчанию. Создает пустую очередь.

  • explicit очередь::queue (const Container& cont)
    

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

  • size_type очередь::size () const
    

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

  • bool очередь::empty () const
    

    Проверяет, пуста ли очередь. Эквивалент (но может работать быстрее):

      очередь::size()==0
    
  • void очередь::push (const value_type& elem)
    

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

  • value_type& очередь::front ()
    const value_type& очередь::front () const
    

    Обе формы возвращают следующий элемент очереди, то есть элемент, который был вставлен первым (после всех остальных элементов очереди).

       
    Перед вызовом необходимо убедиться в том, что очередь содержит хотя бы один элемент (size()>0), иначе вызов приводит к
    непредсказуемым последствиям.

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

  • value_type& очередь::back ()
    const value_type& очередь::back () const
    

    Обе формы возвращают последний элемент очереди, то есть элемент, который был вставлен последним (после всех остальных элементов очереди).

       
    Перед вызовом необходимо убедиться в том, что очередь содержит хотя бы один элемент (size()>0), иначе вызов приводит к
    непредсказуемым последствиям.

       
    Первая форма для неконстантных очередей возвращает ссылку, что позволяет модифицировать последний элемент во время его нахождения в очереди.
    Хорошо это или нет - решайте сами.

  • void очередь::рор ()
    

    Удаляет из очереди следующий элемент, то есть элемент, который был вставлен первым (перед всеми элементами очереди).

       
    Функция не имеет возвращаемого значения. Чтобы обработать значение верхнего элемента, следует предварительно вызвать функцию front().

       
    Перед вызовом необходимо убедиться в том, что очередь содержит хотя бы один элемент (size()>0), иначе вызов приводит к непредсказуемым последствиям.

  • bool сравнение (const очередь& queue1, const очередь& queue2)
    

    Возвращает результат сравнения двух очередей одного типа. Параметр сравнение - одна из следующих операций:

    • operator ==
    • operator !=
    • operator <
    • operator >
    • operator <=
    • operator >=

    Две очереди считаются равными, если они содержат одинаковое количество элементов, если элементы попарно совпадают и следуют в одинаковом
    порядке (то есть проверка двух соответствующих друг другу элементов на равенство всегда дает true).

       
    Отношение "меньше/больше" между контейнерами проверяется по лексикографическому критерию. Лексикографический критерий рассматривается при
    описании алгоритма lexicographical_compare() на 280 шаге.

   
На следующем шаге мы рассмотрим пользовательскую реализацию очереди.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий