Advertisement
rafikamal

Binary Search

Feb 10th, 2013
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.88 KB | None | 0 0
  1. #include <stdio.h>
  2. #define SIZE 7
  3.  
  4. void bubbleSort(int *A, int length);
  5. int binarySearch(int *A, int start, int end, int value);
  6.  
  7. int main()
  8. {
  9.     int arr[SIZE] = {11, 1, 8, 5, 6, 8, 4};
  10.     int i;
  11.    
  12.     bubbleSort(arr, SIZE);
  13.    
  14.     for(i = 0; i < SIZE; i++)
  15.         printf("%d ", arr[i]);
  16.     printf("\n");
  17.    
  18.     printf("%d\n", binarySearch(arr, 0, SIZE - 1, 3));
  19.    
  20.     return 0;
  21. }
  22.  
  23. void bubbleSort(int *A, int length)
  24. {
  25.     int i, j;
  26.    
  27.     for(i = 1; i <= length - 1; i++)
  28.     {
  29.         for(j = 0; j < length - i; j++)
  30.             if(A[j] > A[j + 1])
  31.             {
  32.                 int temp = A[j];
  33.                 A[j] = A[j + 1];
  34.                 A[j + 1] = temp;
  35.             }
  36.     }
  37. }
  38.  
  39. int binarySearch(int *A, int start, int end, int value)
  40. {
  41.     int mid = (start + end) / 2;
  42.     if(start > end) return -1;
  43.     else if(A[mid] == value) return mid;
  44.     else if(value < A[mid]) return binarySearch(A, start, mid - 1, value);
  45.     else return binarySearch(A, mid+ 1, end, value);
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement