РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
383 of 815 menu

Функция equal

Функция equal сравнивает два диапазона элементов и возвращает true, если все элементы первого диапазона совпадают с соответствующими элементами второго диапазона, и false в противном случае. В первый параметр мы передаём итератор начала первого диапазона, во второй - итератор конца первого диапазона, а в третий - итератор начала второго диапазона. Дополнительно можно передать предикат для сравнения элементов.

Синтаксис

equal(first1, last1, first2, [pred])

Пример

Давайте сравним два вектора с одинаковыми элементами:

#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<int> v1 = {1, 2, 3, 4, 5}; vector<int> v2 = {1, 2, 3, 4, 5}; bool res = equal(v1.begin(), v1.end(), v2.begin()); cout << res << endl; return 0; }

Результат выполнения кода:

1

Пример

Давайте сравним два вектора с разными элементами:

#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<int> v1 = {1, 2, 3, 4, 5}; vector<int> v2 = {1, 2, 3, 4, 6}; bool res = equal(v1.begin(), v1.end(), v2.begin()); cout << res << endl; return 0; }

Результат выполнения кода:

0

Пример

Давайте сравним две строки с помощью пользовательского предиката, который игнорирует регистр символов:

#include <iostream> #include <string> #include <algorithm> #include <cctype> using namespace std; int main() { string s1 = "abcde"; string s2 = "ABCDE"; bool res = equal( s1.begin(), s1.end(), s2.begin(), [](char a, char b) { return tolower(a) == tolower(b); } ); cout << res << endl; return 0; }

Результат выполнения кода:

1

Смотрите также

  • функция mismatch,
    которая находит первое несовпадение двух диапазонов
  • функция search,
    которая ищет подпоследовательность в диапазоне
  • функция find,
    которая ищет элемент в диапазоне
  • функция lexicographical_compare,
    которая сравнивает два диапазона лексикографически
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить