|
发表于 2020-3-28 09:06:22
|
显示全部楼层
- #include <stdio.h>
- void shell_sort(int array[], int length);
- void shell_sort(int array[], int length)
- {
- int i, j, step, temp;
- for (step = length / 2; step > 0; step /= 2)
- {
- for (i = step; i < length; i++)
- {
- temp = array[i];
- for (j = i - step; j >= 0 && array[j] > temp; j -= step)
- {
- array[j+step] = array[j];
- }
- array[j+step] = temp;
- }
- }
- }
- int main(void)
- {
- int array[] = {73, 108, 111, 118, 101, 70, 105, 115, 104, 67, 46, 99, 111, 109};
- int i, length;
- length = sizeof(array) / sizeof(array[0]);
- shell_sort(array, length);
- printf("排序后的结果是:");
- for (i = 0; i < length; i++)
- {
- printf("%d ", array[i]);
- }
- putchar('\n');
- return 0;
- }
复制代码 |
|