Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- typedef long long ll;
- void insertionsort(int arr[],int n)
- {
- for (int i = 1; i < n; i++)
- {
- int key = arr[i];
- int j = i - 1;
- while (j >= 0 && arr[j] > key)
- {
- arr[j + 1] = arr[j];
- j = j - 1;
- }
- arr[j + 1] = key;
- }
- }
- void binarysearch(int arr[],int n, int key)
- {
- int low = 0, high = n-1;
- bool flag = false;
- while(low<=high)
- {
- int mid = (high+low)/2;
- if(arr[mid]==key)
- {
- flag = true;
- break;
- }
- if(arr[mid]<key)
- low = mid+1;
- else if(arr[mid]>key)
- high = mid-1;
- }
- if(flag)
- cout << "Found" << endl;
- else
- cout << "Not Found" << endl;
- }
- int main()
- {
- #ifndef ONLINE_JUDGE
- freopen("input.txt", "r", stdin);
- freopen("output.txt", "w", stdout);
- #endif
- int n;
- cin >> n;
- int arr[n];
- for(int i=0;i<n;i++)
- cin >> arr[i];
- //insertion sort
- insertionsort(arr,n);
- for(int i=0;i<n;i++)
- cout << arr[i] << " ";
- cout << endl;
- int key;
- cin >> key;
- binarysearch(arr,n,key);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement