Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int bsearch(int arr[], int l, int r, int key)
- {
- int mid = 0;
- while (1)
- {
- mid = (l + r) / 2;
- if (key < arr[mid])
- {
- r = mid - 1;
- }
- else if (key > arr[mid])
- {
- l = mid + 1;
- }
- else return mid;
- if (l > r)
- return -2;
- }
- }
- int bsearch_last(int arr[], int l, int r, int key){
- int value = -2;
- int mid = 0;
- while (l <= r){
- mid = (l + r) / 2;
- if (arr[mid] == key){
- value = mid;
- l = mid + 1;
- } else if (arr[mid] > key){
- r = mid - 1;
- } else {
- l = mid + 1;
- }
- }
- return value;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement