Каким будет лучший способ проверить сортировку std::vector
? Есть ли что-то быстрее, чем цикл, проверяющий, что v[i]<=v[i+1]
? Быстрее/чище с итераторами? Или на самом деле лучше просто называть sort
каждый раз (хотя случай "v уже отсортирован" довольно распространен)?
Мы можем с уверенностью предположить, что вектор содержит только POD, обычно float
, а иногда double
и int
s.
Размер вектора нетривиальный (обычно несколько тысяч элементов), но не экстремальный (не размер гигабайта).
- в некоторых случаях мы будем сортировать вектор сразу после этого, однако есть и другие случаи, когда мы этого не делаем (это случай ошибки нашего алгоритма).
- мы по возможности используем флаг "IsSorted".