#include <stdio.h>
void insertionSort(int arr[] , int n)
{
int i, j, key;
for (i = 1; i < n; i++)
{
key = arr[i];
j = i - 1;
while (j >=0 && arr[j] > key)
{
arr[j + 1] = arr[j];
j = j - 1;
}
arr[j + 1] = key;
}
}
// A utility function to print an array of size n
void printArray(int arr[], int n)
{
int i;
for (i = 0; i < n; i++)
}
/* Driver program to test insertion sort */
int main()
{
int arr[] = { 12, 11, 13, 5, 6 };
int n = sizeof(arr) / sizeof(arr[0]);
insertionSort(arr, n);
printArray(arr, n);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIGluc2VydGlvblNvcnQoaW50IGFycltdICwgaW50IG4pCnsKCSAgICAgCWludCBpLCBqLCBrZXk7CgoJZm9yIChpID0gMTsgaSA8IG47IGkrKykKCXsKCQlrZXkgPSBhcnJbaV07CgkJaiA9IGkgLSAxOwoKCQl3aGlsZSAoaiA+PTAgJiYgYXJyW2pdID4ga2V5KQoJCXsKCQkJYXJyW2ogKyAxXSA9IGFycltqXTsKCQkJaiA9IGogLSAxOwoKCQl9CgkJYXJyW2ogKyAxXSA9IGtleTsKCX0KfQovLyBBIHV0aWxpdHkgZnVuY3Rpb24gdG8gcHJpbnQgYW4gYXJyYXkgb2Ygc2l6ZSBuCnZvaWQgcHJpbnRBcnJheShpbnQgYXJyW10sIGludCBuKQp7CiAgICBpbnQgaTsKICAgIGZvciAoaSA9IDA7IGkgPCBuOyBpKyspCiAgICAgICAgcHJpbnRmKCIlZCAiLCBhcnJbaV0pOwogICAgcHJpbnRmKCJcbiIpOwp9CgovKiBEcml2ZXIgcHJvZ3JhbSB0byB0ZXN0IGluc2VydGlvbiBzb3J0ICovCmludCBtYWluKCkKewogICAgaW50IGFycltdID0geyAxMiwgMTEsIDEzLCA1LCA2IH07CiAgICBpbnQgbiA9IHNpemVvZihhcnIpIC8gc2l6ZW9mKGFyclswXSk7CgogICAgaW5zZXJ0aW9uU29ydChhcnIsIG4pOwogICAgcHJpbnRBcnJheShhcnIsIG4pOwoKICAgIHJldHVybiAwOwp9