#include <iostream>
using namespace std;
void Print(int arr[], int n){
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
}
#if 1
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--;
}
arr[j + 1] = key;
}
}
int main() {
int arr1[] = {5, 2, 4, 6, 1, 3};
int arr2[] = {12, 19, 2, 14, 189, 10};
int arr3[] = {128, 119, 232, 134, 109, 180};
int n = 6;
insertionSort(arr1, n);
Print(arr1, n);
insertionSort(arr2, n);
Print(arr2, n);
insertionSort(arr3, n);
Print(arr3, n);
return 0;
}
#endif
#if 0
int binarySearch(int arr[], int left, int right, int target) {
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == target) {
return mid;
}
if (arr[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1;
}
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int n = sizeof(arr) / sizeof(arr[0]);
int result = binarySearch(arr, 0, n - 1, 4);
cout << result << endl;
result = binarySearch(arr, 0, n - 1, 8);
cout << result << endl;
result = binarySearch(arr, 0, n - 1, 12);
cout << result << endl;
return 0;
}
#endif