我有一個矢量對象,實現operator<
和operator==
。 C++提供了std :: sort來有效地對該向量進行排序。C++提供了std :: sort,但它是否也提供了有效搜索的內容?
std中是否還有一個函數來有效地重複搜索一個向量?
我將在該排序的向量上進行許多搜索,所以std :: find似乎不是一個好的選擇,因爲它只是遍歷迭代器,直到找到匹配。
我有一個矢量對象,實現operator<
和operator==
。 C++提供了std :: sort來有效地對該向量進行排序。C++提供了std :: sort,但它是否也提供了有效搜索的內容?
std中是否還有一個函數來有效地重複搜索一個向量?
我將在該排序的向量上進行許多搜索,所以std :: find似乎不是一個好的選擇,因爲它只是遍歷迭代器,直到找到匹配。
有沒有一個原因,你爲什麼將它存儲在一個向量中,而不是在一個集合/ multiset? – lorro
'std :: lower_bound'或'std :: binary_search'可能會有所幫助。 – Jarod42
@lorro:......或他們的無序_...同行。 – DevSolar