我已按QVector<QString>
订购qSort
。我希望得到指定QString
的索引,但是qBinarySearch
返回Java样式的迭代器,允许向下/向后移动或指向QString
(因为QVector::iterator
是typedef T*
)。如何为每个元素获取没有迭代的元素索引并检查。是唯一的方法来制作自己的二分搜索方法(我知道怎么做,但为什么再次发明轮子?)?
答案 0 :(得分:1)
根据http://doc.qt.io/qt-5/qtalgorithms-obsolete.html,这些算法已过时,建议您改用std::binary_search
(或std::lower_bound
)。它们返回随机访问迭代器,因此将它们转换为索引既便宜又容易。