fork download
  1. #include <stdio.h>
  2.  
  3. int bin(int *arr,int l,int h,int k)
  4. {
  5. int mid;
  6. if(l>h)
  7. return -1;
  8. if(l==h)
  9. {
  10. return arr[l]==k?l:-1;
  11. }
  12. else
  13. {
  14. mid=(l+h)>>1;
  15. if(arr[mid]==k)
  16. return mid;
  17. else if(k>arr[mid])
  18. bin(arr,mid+1,h,k);
  19. else
  20. return bin(arr,l,mid-1,k);
  21. }
  22. }
  23.  
  24. int main()
  25. {
  26. int arr[]={1,3,5,6,9},i,size;
  27. size=sizeof(arr)/sizeof(arr[0]);
  28. printf("%d ",bin(arr,0,size-1,6));
  29. return 0;
  30. }
Success #stdin #stdout 0.02s 1720KB
stdin
Standard input is empty
stdout
3