#include <stdlib.h>
#include <stdio.h>
#include <string.h>
void sort(int * a, size_t size)
{
for(size_t i = 0; i < size-1; ++i)
{
// Начиная от i, ищем минимальный элемент
int m = a[i]; size_t mi = i;
for(size_t j = i; j < size; ++j)
if (m > a[j]) { m = a[j]; mi = j; }
// Копируем вправо
for(size_t j = mi; j > i; --j)
a[j] = a[j-1];
// Вставляем
a[i] = m;
}
}
int main()
{
int a[20];
for(int i
= 0; i
< 20; ++i
) a
[i
] = rand()%50; for(int i
= 0; i
< 20; ++i
) printf(" %2d",a
[i
]); puts(""); sort(a,20);
for(int i
= 0; i
< 20; ++i
) printf(" %2d",a
[i
]); puts(""); }
I2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKdm9pZCBzb3J0KGludCAqIGEsIHNpemVfdCBzaXplKQp7CiAgICBmb3Ioc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZS0xOyArK2kpCiAgICB7CiAgICAgICAgLy8g0J3QsNGH0LjQvdCw0Y8g0L7RgiBpLCDQuNGJ0LXQvCDQvNC40L3QuNC80LDQu9GM0L3Ri9C5INGN0LvQtdC80LXQvdGCCiAgICAgICAgaW50IG0gPSBhW2ldOyBzaXplX3QgbWkgPSBpOwogICAgICAgIGZvcihzaXplX3QgaiA9IGk7IGogPCBzaXplOyArK2opCiAgICAgICAgICAgIGlmIChtID4gYVtqXSkgeyBtID0gYVtqXTsgbWkgPSBqOyB9CgogICAgICAgIC8vINCa0L7Qv9C40YDRg9C10Lwg0LLQv9GA0LDQstC+CiAgICAgICAgZm9yKHNpemVfdCBqID0gbWk7IGogPiBpOyAtLWopCiAgICAgICAgICAgIGFbal0gPSBhW2otMV07CgogICAgICAgIC8vINCS0YHRgtCw0LLQu9GP0LXQvAogICAgICAgIGFbaV0gPSBtOwogICAgfQp9CgppbnQgbWFpbigpCnsKICAgIGludCBhWzIwXTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCAyMDsgKytpKSBhW2ldID0gcmFuZCgpJTUwOwogICAgZm9yKGludCBpID0gMDsgaSA8IDIwOyArK2kpIHByaW50ZigiICUyZCIsYVtpXSk7IHB1dHMoIiIpOwogICAgc29ydChhLDIwKTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCAyMDsgKytpKSBwcmludGYoIiAlMmQiLGFbaV0pOyBwdXRzKCIiKTsKfQo=