fork download
  1. // Example program
  2. #include <iostream>
  3. #include <string>
  4. #include <vector>
  5. using namespace std;
  6.  
  7. int binSearch(const vector<int> &v, int n) {
  8. if(v.empty()) return -1;
  9.  
  10. int l = 0;
  11. int r = v.size()-1;
  12.  
  13. while(l <= r) {
  14. int mid = l+(r-l)/2;
  15. if(v[mid] == n) return mid;
  16. else
  17. if(n < v[mid]) r = mid-1;
  18. else l = mid+1;
  19. }
  20.  
  21. return -1;
  22. }
  23.  
  24. int binSearch2(const vector<int> &v, int n) {
  25. if(v.empty()) return -1;
  26.  
  27. int l = 0;
  28. int r = v.size()-1;
  29.  
  30. while(l < r) {
  31. int mid = l+(r-l)/2;
  32. if(v[mid] == n) return mid;
  33. else
  34. if(n < v[mid]) r = mid;
  35. else l = mid+1;
  36. }
  37.  
  38. return -1;
  39. }
  40.  
  41. int main()
  42. {
  43. for(int i = 0; i <= 5; i++)
  44. cout << binSearch({0,1,2,3,4,5}, i) << " " << binSearch2({0,1,2,3,4,5}, i) << endl;
  45.  
  46. return 0;
  47. }
  48.  
Success #stdin #stdout 0s 3412KB
stdin
Standard input is empty
stdout
0 0
1 1
2 2
3 3
4 4
5 -1