Sobes.tech
Back to questions
Junior — Middle
93

Можете ли вы объяснить, что такое бинарный предикат в программировании?

Companies where asked
Телкор

Answer from AI

sobes.tech AI

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

В C++ бинарный предикат часто применяется в алгоритмах стандартной библиотеки (STL), например, для сортировки или поиска, чтобы определить порядок элементов.

Пример бинарного предиката — функция, сравнивающая два числа:

#include <iostream>
#include <algorithm>
#include <vector>

// Бинарный предикат: возвращает true, если a меньше b
bool less_than(int a, int b) {
    return a < b;
}

int main() {
    std::vector<int> v = {3, 1, 4, 1, 5};
    std::sort(v.begin(), v.end(), less_than);
    for (int n : v) {
        std::cout << n << ' ';
    }
    return 0;
}

Здесь less_than — бинарный предикат, который определяет порядок сортировки.

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