Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int Sort(int *ar, int s)
- {
- int i, j;
- for( i =0; i<s-1; i++)
- for(j =i+1; j<s; j++)
- {
- if(ar[i]>ar[j])
- {
- int temp = ar[i];
- ar[i] = ar[j];
- ar[j] = temp;
- }
- }
- }
- int binarysearch(int *ar,int s,int key)
- {
- int st =0, e = s,mid;
- while(st<=e)
- {
- mid = (st+e)/2;
- if(ar[mid]<key)
- {
- st = mid+1;
- }
- else if(ar[mid]>key)
- {
- e = mid-1;
- }
- else if (st>e)
- {
- // cout<<st<<" "<<e<<endl;
- return -1;
- }
- else if (ar[mid] == key)
- {
- //cout<<"mid in equal = "<<mid<<endl;
- return mid;
- }
- }
- }
- int main(){
- int ar[100],s,key, f;
- cout<<"give size of array\n";
- cin>>s;
- for(int i =0; i<s; i++)
- {
- cin>>ar[i];
- }
- Sort(ar,s);
- for(int i =0; i<s; i++)
- {
- cout<<ar[i]<<" ";
- }
- cout<<"enter key\n";
- cin>>key;
- // int st =0, e = s,mid, f = 0;
- /* while(st <= e)
- {
- mid = (st+e)/2;
- if(ar[mid]<key)
- st = mid+1;
- else if(ar[mid]>key)
- e = mid-1;
- else if (st>e)
- break;
- else if (ar[mid] == key)
- {
- cout<<"mid in equal = "<<mid<<endl;
- f = 1;
- break;
- }
- }
- */
- f = binarysearch(ar,s,key);
- cout<<f<<endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement