#include <iostream>
#include <algorithm>
#include <cstdlib>
using namespace std;
void insertion_sort(int* input, int size)
{
for (int i=1; i<size; i++)
{
for (int j=i; j>0 && input[j] < input[j-1]; j--)
swap(input[j], input[j-1]);
}
}
void print(int* input, int size)
{
for (int i=0; i<size; i++)
cout << input[i] << " ";
cout << endl;
}
void populate(int* input, int size)
{
for (int i=0; i<size; i++)
input[i] = rand() % 100;
}
int main(void)
{
int buf[5];
populate(buf, 5);
print(buf, 5);
insertion_sort(buf, 5);
print(buf, 5);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8Y3N0ZGxpYj4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIGluc2VydGlvbl9zb3J0KGludCogaW5wdXQsIGludCBzaXplKQp7Cglmb3IgKGludCBpPTE7IGk8c2l6ZTsgaSsrKQoJewoJCWZvciAoaW50IGo9aTsgaj4wICYmIGlucHV0W2pdIDwgaW5wdXRbai0xXTsgai0tKQoJCQlzd2FwKGlucHV0W2pdLCBpbnB1dFtqLTFdKTsKCX0KfQoKdm9pZCBwcmludChpbnQqIGlucHV0LCBpbnQgc2l6ZSkKewoJZm9yIChpbnQgaT0wOyBpPHNpemU7IGkrKykKCQljb3V0IDw8IGlucHV0W2ldIDw8ICIgIjsKCWNvdXQgPDwgZW5kbDsKfQoKdm9pZCBwb3B1bGF0ZShpbnQqIGlucHV0LCBpbnQgc2l6ZSkKewoJZm9yIChpbnQgaT0wOyBpPHNpemU7IGkrKykKCQlpbnB1dFtpXSA9IHJhbmQoKSAlIDEwMDsKfQoKaW50IG1haW4odm9pZCkKewoJaW50IGJ1Zls1XTsKCXBvcHVsYXRlKGJ1ZiwgNSk7CglwcmludChidWYsIDUpOwoJaW5zZXJ0aW9uX3NvcnQoYnVmLCA1KTsKCXByaW50KGJ1ZiwgNSk7CgoJcmV0dXJuIDA7Cn0=