Следующий фрагмент возвращает мне 0. Я ожидал, что это будет 1. Что здесь происходит?binary_search в C++ неожиданном поведении
#include <iostream>
#include <iterator>
#include <ostream>
#include <algorithm>
#include <vector>
using namespace std;
int main(){
vector<int> v;
int arr[] = {10,20,30,40,50};
v.push_back(11);
v.push_back(22);
copy(arr,arr + sizeof(arr)/sizeof(arr[0]),back_inserter(v)); // back_inserter makes space starting from the end of vector v
for(auto i = v.begin(); i != v.end(); ++i){
cout << *i << endl;
}
cout << endl << "Binary Search - " << binary_search(v.begin(), v.end(), 10) <<endl; // returns bool
}
Я использую GCC /usr/lib/gcc/i686-linux-gnu/4.6/lto-wrapper
Требуется ли для бинарного поиска отсортированный массив? сортируется 'v'? – andre
Вы могли бы опубликовать вывод своего кода? что вы получаете от утверждений 'cout'? – wlyles