检查 astd::vector
是否已排序的最佳方法是什么?有没有比循环检查更快的东西v[i]<=v[i+1]
?迭代器是否更快/更清洁?还是sort
每次都调用实际上更好(尽管“v 已经排序”的情况很常见)?
我们可以安全地假设向量只包含 POD,通常是float
s,有时double
是 s 和int
s。
向量的大小是非平凡的(通常是几千个项目)但不是极端的(不是千兆字节大小)。
- 在某些情况下,我们会在之后立即对向量进行排序,但是在其他情况下我们不这样做(这是我们算法的错误情况)。
- 我们已经尽可能使用标志“IsSorted”。