vladkomarr

binarySearch

Oct 29th, 2014
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.71 KB | None | 0 0
  1. #include <iostream>
  2. int binarySearch(int *a, int size, int key) {
  3.     int left, right, mid;
  4.     left = 0;
  5.     right = size - 1;
  6.  
  7.     while( left <= right ) {
  8.         mid = ( left + right )/2;
  9.         if( key < a[mid] )
  10.             right = mid - 1;
  11.         else if( key > a[mid])
  12.             left = mid + 1;
  13.         else
  14.             return mid;
  15.     }
  16.  
  17.     return -1;                  // не найден
  18. }
  19.  
  20. int main() {
  21.     int size = 12;
  22.     int *a = new int[size];
  23.  
  24.     for(int i = 0; i < size; i++)
  25.         a[i] = i*i;
  26.  
  27.     for(int i = 0; i < size; i++)
  28.         std::cout << a[i] << " ";
  29.     std::cout << std::endl;
  30.  
  31.     std::cout << binarySearch(a, size, 121) << std::endl;
  32.  
  33.  
  34.     return 0;
  35. }
Advertisement
Add Comment
Please, Sign In to add comment