У меня есть вектор unordered_map, который сортируется на основе функции сравнения, которую я определил. Я хотел бы использовать бинарный поиск для поиска одного из значений с помощью функции сравнения. Однако бинарный поиск возвращает только bool, и мне нужен индекс/итератор результата. Что я мог сделать?Binary Search C++ STL
18
A
ответ
22
#include <algorithm>
using namespace std;
//!!!!! a must be sorted using cmp. Question indicates that it is.
it = lower_bound(a.begin, a.end(), value, cmp);
//Check that we have actually found the value.
//If the requested value is missing
//then we will have the value before where the requested value
//would be inserted.
if(it == a.end() || !cmp(*it, value))
{
//element not found
}
else
{
//element found
}
15
#include <algorithm>
using namespace std;
it = lower_bound(a.begin, a.end(), value, cmp);
Смежные вопросы
- 1. C++ STL Binary Search (lower_bound, upper_bound)
- 2. C# Binary Search Variation
- 3. C# Binary Search Tree Problem
- 4. C Binary Search Вставка дерева
- 5. C++ STL Breadth first search
- 6. AVL/Binary Search Tree
- 7. Java Leftmost Binary Search
- 8. Binary Search Tree segfaults
- 9. Binary Search Tree Balancing
- 10. Binary Search Tree Deconstructor
- 11. Binary Search Ruby
- 12. Binary Search Tree issue
- 13. Binary Search Tree balance
- 14. Binary Search Seg Fault
- 15. Ruby binary search
- 16. Bash Script Binary Search
- 17. Binary Search - отображение результатов
- 18. Binary Search Assembly 68HC11
- 19. Binary Search Tree Questions
- 20. Создание BINARY SEARCH TREE
- 21. Binary Search Tree Find And Remove [C++]
- 22. PhoneEntry: Binary Search Tree C++ program
- 23. C Binary Search Tree Insertion Pointer Issue
- 24. Binary Search Tree Display issue
- 25. SQL Select Vs Binary Search
- 26. Binary Search Tree Recursion Confusion
- 27. Binary Tree Search DuplicateException error
- 28. Java Generic Binary Search Tree Тип выпуск
- 29. Broken Binary search and Bubble sort
- 30. loading binary STL model with assimp
+1 или, возможно, upper_bound или equal_range – 2010-11-26 09:39:00
-1 lower_bound не обязательно будет возвращать элемент. Если элемент отсутствует, он вернет элемент до того, как он будет, если бы он был в векторе. – T33C 2010-11-26 09:50:42