- #include <stdio.h>
-
- void trishell(int *p, int N)
- {
- int ecart, i, j, tmp;
- for(ecart = N/2; ecart > 0; ecart /= 2)
- for(i = ecart; i < N; i++)
- for(j = i-ecart; (j >= 0) && ( *(p+j) > *(p+(j+ecart)) ); j -= ecart)
- {
- tmp = *(p+j);
- *(p+j) = *(p+(j+ecart));
- *(p+(j+ecart)) = tmp;
- }
- return;
- }
-
-
- int main()
- {
- int nb[128], N, i;
- scanf("%d", &N);
- printf("---------\n");
- for(i = 0; i < N; i++)
- scanf("%d", &(nb[i]));
- printf("---------\n");
- trishell(nb, N);
- for(i = 0; i < N; i++)
- printf("%d\n", nb[i]);
- printf("---------\n");
- //system("pause");
- return 0;
- }
#include <stdio.h>
void trishell(int *p, int N)
{
int ecart, i, j, tmp;
for(ecart = N/2; ecart > 0; ecart /= 2)
for(i = ecart; i < N; i++)
for(j = i-ecart; (j >= 0) && ( *(p+j) > *(p+(j+ecart)) ); j -= ecart)
{
tmp = *(p+j);
*(p+j) = *(p+(j+ecart));
*(p+(j+ecart)) = tmp;
}
return;
}
int main()
{
int nb[128], N, i;
scanf("%d", &N);
printf("---------\n");
for(i = 0; i < N; i++)
scanf("%d", &(nb[i]));
printf("---------\n");
trishell(nb, N);
for(i = 0; i < N; i++)
printf("%d\n", nb[i]);
printf("---------\n");
//system("pause");
return 0;
}