Order Not Known Search

Run Settings
LanguageC++
Language Version
Run Command
#include <iostream> using namespace std; int main() { int arr[] = {1,2,3,4,5,6,7,8}; int n = sizeof(arr)/sizeof(arr[0]); int val = 8; bool flag = false; int i = 0; int j = n-1; if(arr[i]>arr[j]){ while(i<=j){ int mid = i + (j-i)/2; if(arr[mid]<val){ j = mid-1; }else if(arr[mid]>val){ i = mid+1; }else{ cout<<mid; flag = true; break; } } }else if(arr[j]>arr[i]){ while(i<=j){ int mid = (i+j)/2; if(arr[mid] == val){ flag = true; cout<<mid; break; }else if(arr[mid]>val){ j = mid-1; }else if(arr[mid]<val){ i=mid+1; } } } if(!flag){ cout<<-1; } }
Editor Settings
Theme
Key bindings
Full width
Lines