#include <stdio.h>
void print(int (*arr)[], int length);
void insert_sort(int * arr, int length);
int main () {
int arr[] = {9, 4, 5, 2, 6, 3, 2, 4, 1};
int length = sizeof(arr) / sizeof(*arr);
print(&arr, length);
printf("\r\n");
insert_sort(arr, length);
print(&arr, length);
return 0;
}
void print(int (*arr)[], int length){
for(int i = 0; i < length; i++){
printf("%d ", *((*arr) + i));
}
}
void insert_sort(int * arr, int length){
for(int i = 1; i < length; i++){
int temp = *(arr + i);
int k = i - 1;
while(k >= 0 && *(arr + k) < temp){
k--;
}
for(int j = i; j > k ; j--){
*(arr + j) = *(arr + (j-1));
}
*(arr + (k + 1 )) = temp;
}
}