Разве stl сортировка не требует строгого слабого порядка для работы?

От http://stdcxx.apache.org/doc/stdlibref/less-equal.html

-

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

vector<int> vec1;
sort(vec1.begin(), vec1.end(),less_equal<int>());

-

Теперь я запутался, документация выше верна?

1 ответ

Решение

Вы правы, std::sort требует от компаратора определения строгого слабого порядка.

Который означает, что std::less_equal не должен использоваться с std::sort, Тем не менее, он все еще может использоваться с рядом других стандартных алгоритмов, которые принимают двоичную функцию и не имеют строгого требования слабого упорядочения.

Другие вопросы по тегам