use*_*202 5 c++ sorting stl binary-search lower-bound
是否有与像STL功能的任何文库std::sort(),std::binary_search(),std::lower_bound(),std::upper_bound()接受(对大其返回-1上更小,0上相等,1)3路比较谓词而不是更少谓词(上少真,假上等于或大)?
当然,较少的谓词可以很容易地从现有的3向谓词(例如[](A a, B b) { return compare3(a,b)<0; })中得出,但这会导致对谓词的额外调用次数.
如果您查看上述算法的实现,您会发现 lower/upper_bound 根本不执行 3 路分支,binary_search 仅在最后一次迭代中检查相等性,而关于 sort() 我不知道但我几乎可以肯定它也不会进行三路分支。所以你的“优化”不会给你带来任何提升。反之亦然,你的比较会更慢。
| 归档时间: |
|
| 查看次数: |
875 次 |
| 最近记录: |