int Tmp;
for (Increment = N / 2; Increment > 0; Increment /= 2)
{
for (i = Increment; i < N; i++) {
Tmp = A[i];
for (j = i; j >= Increment; j-= Increment) {
if (Tmp < A[j - Increment]) {
A[j] = A[j - Increment];
}
else
break;
}
A[j] = Tmp;
}
}
}
#include<stdio.h>
int main() {
int array[8] = { 5,7,8,3,1,2,4,6 };
Shellsort(array, 8);
for (int i = 0; i < 8; i++) {
printf("%d\n", array[i]);
}
}