Pagini recente » Cod sursa (job #3228307) | Formatare Textile | Cod sursa (job #3279215) | Cod sursa (job #2441707) | Cod sursa (job #2490275)
#include <fstream>
using namespace std;
ifstream cin("algsort.in");
ofstream cout("algsort.out");
int n;
int a[500005];
void shellSort(int a[], int n){
int split[] = {7, 3, 2, 1};
for(int i = 0; i < 4; i++){
int x = split[i];
for(int j = 0; j < x; j++){
for(int k = j; k < n; k += x){
int p = k - x, temp = a[k];
while(p >= 0 && a[p] > temp)
a[p + x] = a[p], p -= x;
a[p + x] = temp;
}
}
}
for(int i = 0; i < n; i++)
cout << a[i] << ' ';
cout << '\n';
}
int main()
{
cin >> n;
for(int i = 0; i < n; i++)
cin >> a[i];
shellSort(a, n);
return 0;
}