Например, у меня есть массив с элементами 1,7,9,23,34,47,67,89,123,234,345,567. Мне нужно знать положение 123.Как использовать lower_bound (upper_bound), чтобы найти позицию любого числа в массиве?
-2
A
ответ
1
Объявление и инициализация массива элементами. Затем создайте команду vector
. Используйте upper_bound()
на vector
. Вот пример:
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main() {
int arr[] = {1,7,9,23,34,47,67,89,123,234,345,567};
int len = sizeof(arr)/sizeof(arr[0]);
vector<int> v(arr,arr+len);
vector<int>::iterator upper;
upper = upper_bound(v.begin(), v.end(), 123);
cout<<(upper-v.begin())<<endl; // Output: 9
return 0;
}
Надеюсь, это поможет!
+0
Вы можете использовать 'std :: upper_bound' и' std :: lower_bound' непосредственно в массиве. Нет необходимости в этом векторе. –
Смежные вопросы
- 1. сравнить функцию для upper_bound/lower_bound
- 2. Java-эквивалент C++ equal_range (или lower_bound & upper_bound)
- 3. разница между upper_bound и lower_bound в СТЛ
- 4. upper_bound и lower_bound в разных заголовках?
- 5. C++ STL Binary Search (lower_bound, upper_bound)
- 6. Использование результата lower_bound в качестве параметра для upper_bound (или наоборот)
- 7. C++ STL set: могу ли я использовать upper_bound(), чтобы найти минимальную разницу числа с элементами набора?
- 8. Как найти позицию объекта в двумерном массиве?
- 9. Почему предикатная версия lower_bound и upper_bound передает значение итератора непоследовательно?
- 10. найти возвращаемое значение lower_bound
- 11. Как использовать std :: lower_bound с пользовательским итератором?
- 12. с использованием STL контейнера UPPER_BOUND & LOWER_BOUND для карты
- 13. Применение C++ «lower_bound» в массиве символов char
- 14. Найти недостающие числа в массиве
- 15. Найти недостающие числа в массиве
- 16. Найти позицию в массиве для неизвестной строки
- 17. Найти позицию элемента минимума в массиве
- 18. Невозможно понять 1 строку кода в C++ STL Источник: Lower_Bound/Upper_Bound
- 19. Найти наименьшее число в массиве и позицию
- 20. Использование станд :: lower_bound
- 21. найти позицию слова в массиве php
- 22. Как использовать lower_bound для вставки значения в отсортированный вектор
- 23. Как написать функцию, которая возвращает позицию числа в массиве?
- 24. Поведение lower_bound в cpp на несортированном массиве
- 25. Имеет ли библиотека Java функции, такие как std :: lower_bound(), std :: upper_bound() в C++?
- 26. Чтобы найти частоту числа в массиве с помощью рекурсии
- 27. Javascript найти все комбинации для того, чтобы числа в массиве
- 28. Как использовать случайные числа в массиве?
- 29. Не может найти правильную позицию на массиве
- 30. Как найти сумму каждого числа, умноженного на его позицию в массиве в Javascript?
['std :: find'] (http://en.cppreference.com/w/cpp/algorithm/find) Должен работать нормально. Вы можете вычесть 'std :: begin (array)', чтобы получить (числовой) индекс, а не итератор, если это то, что вам нужно. – Xirema
Вы что-то пробовали? пожалуйста, укажите [Минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve) – George