Advertisement
SVXX

Recursive Binary Search

Feb 10th, 2012
423
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.65 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int BinS(int A[], int fir, int l, int key)
  4. {
  5. int mid;
  6. if(fir == l)
  7. {
  8. if(key == A[fir])
  9. return fir;
  10. else
  11. return 0;
  12. }
  13. else
  14. {
  15. mid = (fir + l)/2;
  16. if(key == A[mid])
  17. return mid;
  18. else if(key < A[mid])
  19. return BinS(A, fir, mid-1, key);
  20. else
  21. return BinS(A, mid+1, l, key);
  22. }
  23. }
  24.  
  25. void main()
  26. {
  27. int A[50], key, i, size, pos;
  28. printf("Size : ");
  29. scanf("%d", &size);
  30. for(i = 1; i <= size; i++)
  31. scanf("%d", &A[i]);
  32. printf("\nEnter key to be searched : ");
  33. scanf("%d", &key);
  34. pos = BinS(A, 1, size, key);
  35. if(pos == 0)
  36. printf("\nNot found");
  37. else
  38. printf("\nFound at %d", pos);
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement