Что такое библиотека алгоритмов в C ++?

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

range — это любая последовательность объектов, к которой можно получить доступ через итераторы или указатели, такие как массив или экземпляр некоторых контейнеров STL.

Некоторые из наиболее важных функций библиотеки описаны ниже:

Функции сортировки

sort

Функция sort сортирует элементы в диапазоне [ первый, последний) в порядке возрастания. Элементы сравниваются с помощью оператора . Эквивалентным элементам не гарантируется сохранение их исходного относительного порядка.

Параметры этой функции:

  • Итераторы для начального и конечного p положение сортируемой последовательности.
  • Необязательная двоичная функция, которая принимает два элемента в диапазоне в качестве аргументов и возвращает значение, конвертируемое в bool .
 #include  #include  int main () {int myints [] = {43, 23, 65, 2, 5, 24, 49, 33};  vector  myvector (myints, myints + 8); //с использованием сравнения по умолчанию (operator  :: iterator it = myvector.begin (); it! = myvector.end (); ++ it) cout  

is_sorted

Функция is_sorted возвращает true , если диапазон [первый, последний) отсортирован в порядке возрастания. Параметры этой функции:

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

Функции слияния

merge

Слияние объединяет элементы в отсортированных диапазонах [first1, last1) и [first2, last2] в новый диапазон (начиная с result ), в котором все элементы отсортированы.

Параметры этой функции:

  • Итераторы начальной и конечной позиций обеих последовательностей, которые должны быть объединены.
  • Вывести итератор в начальную позицию диапазона, в котором должен быть сохранен результат слияния.
  • Необязательная двоичная функция, которая принимает два элемента в диапазоне в качестве аргументов, и возвращает значение, конвертируемое в bool.
 #include //std :: merge, std :: sortint main () {int first [] = {30, 53, 12  , 82, 23};  int second [] = {50, 40, 30, 20, 10};  std :: vector  v (10);  std :: sort (первый, первый + 5);  std :: sort (второй, второй + 5);  std :: merge (первый, первый + 5, второй, второй + 5, v.begin ());  std :: cout  :: iterator it = v.begin (); it! = v.end (); ++ it) std :: cout  

включает

Функция возвращает true , если отсортированный диапазон [first1, last1) содержит все элементы в отсортированном диапазоне [first2, last2). Параметры этой функции:

  • Итераторы для начальной и конечной позиций первой отсортированной последовательности.
  • Итераторы для начальной и конечной позиции вторая отсортированная последовательность.
  • Выводит итератор в начальную позицию диапазона, где должен быть сохранен результат слияния.
  • Необязательная двоичная функция, которая принимает два элементы в диапазоне в качестве аргументов и возвращает значение, которое можно преобразовать в bool .
 #include //std :: cout # include //std :: includes, std :: sortbool myfunction (int i, int j) {return i  

Мин./макс. функции

min_element

Возвращает итератор, указывающий на элемент с наименьшим значением в диапазоне [первый, последний). Параметры для этой функции являются:

  • Итераторы начальной и конечной позиций сравниваемой последовательности.
  • Необязательная двоичная функция, которая принимает два элемента в диапазоне как аргументы и возвращает значение, которое можно преобразовать в bool . Возвращаемое значение указывает, считается ли элемент, переданный в качестве первого аргумента, меньшим, чем второй.

Он возвращает итератор к минимальному элементу в диапазоне .

max_element

Возвращает итератор, указывающий на элемент с наибольшим значением в диапазоне [первый, last). Параметры этой функции:

  • Итераторы начальной и конечной позиций сравниваемой последовательности.
  • Необязательная двоичная функция который принимает в качестве аргументов два элемента в диапазоне и возвращает значение, конвертируемое в bool . Возвращаемое значение указывает, считается ли элемент, переданный в качестве первого аргумента, меньшим, чем второй.

Он возвращает итератор к максимальному элементу в диапазоне.

 #include  #include  int main () {int myints [] = {43, 23, 65, 2, 5, 24, 49, 33};  std :: cout  

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

Оцените статью
nanomode.ru
Добавить комментарий