#include <iostream>
using namespace std;
void Ssort(int a[], int n)
{
int gap = n / 2;
for (gap = n / 2; gap>0; gap = gap / 2)
{
for (int i = 0; i < gap; ++i)
{
for (int j = 1; gap*j + i < n; ++j)
{
int k = j;
while (a[gap*k + i] < a[gap*(k - 1) + i]&&k>=1)
{
int temp = a[gap*k + i];
a[gap*k + i] = a[gap*(k - 1) + i];
a[gap*(k - 1) + i] = temp;
k--;
}
}
}
}
}
void main()
{
int a[] = {2,6,12,1,8,7,2,3,7,5,4,5};
Ssort(a,12);
for (int i = 0; i < 12; ++i)
{
cout << a[i] << endl;
}
}