어디서 어떻게 코드를 추가해야 정렬과정이 실시간으로 보일까요???
아무리 해봐도 잘 안되네요..,.. 전체적인 정렬과정이 보여야 하는데
어느부분이 생략되거나 너무 많이 표시되거나 하네요....
값이 바뀌는 시점에서 조건값만 어떻게 바꿔주면 될것 같은데 어렵네요....
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
const int N = 10;
void random(int a[]) {
int i, j;
for (i = 0; i < N; i++) {
a[i] = rand() % N + 1;
for (j = 0; j < i; j++) {
if (a[i] == a[j]) {
i--;
break;
}
}
}
}
int main() {
int a[N];
int i, j, b, h;
int stime;
random(a);
stime = clock();
for (h = 1; h < N; h = 3 * h + 1);
while (h > 0) {
for (i = h; i < N; i++) {
b = a[i];
for (j = i; j >= h && a[j - h] > b; j -= h) {
a[j] = a[j - h];
}
a[j] = b;
}
h = h / 3;
}
printf("=====================\n");
for (int ii = 0; ii < N; ii++) {
printf("%d ", a[ii]);
} printf("\n");
}