Advertisement
Wan_ich1

binary search non recurasive

Jan 6th, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.72 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int binarySearch(int arr[], int l, int r, int x)
  5. {
  6.     while (l <= r) {
  7.         int m = l + (r - l) / 2;
  8.  
  9.         if (arr[m] == x)
  10.             return m;
  11.  
  12.         if (arr[m] < x)
  13.             l = m - 1;
  14.  
  15.         else
  16.             r = m + 1;
  17.     }
  18.  
  19.     return -1;
  20. }
  21.  
  22. int main(void)
  23. {
  24.     int n;
  25.     cout << "Masukkan banyak data yang akan di input  = "; cin >> n;
  26.     int arr[n];
  27.     cout << "Masukkan data = ";
  28.     for(int i=0;i<n;i++)
  29.     {
  30.         cin >> arr[i];
  31.     }
  32.     int x;
  33.     cout << "Masukkan data yang ingin di cari = ";
  34.     cin >> x;
  35.  
  36.     int result = binarySearch(arr, 0, n - 1, x);
  37.     (result == -1) ? cout << "Data yang di masukkan tidak ada"
  38.                 : cout << "Data yang di cari da pada array index ke = " << result;
  39.     return 0;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement