|
发表于 2005-3-18 16:08:48
|
显示全部楼层
- #include <stdio.h>
- int iList[10]={30,80,68,43,70,90,45,51,25,100};
- int iSize = 10;
- int iGap=iSize/2;
- int iTemp;
- int iSwap;
- void shellSort(int numbers[], int array_size)
- {
- int i, j, increment, temp;
- increment = array_size / 2;
- while (increment > 0)
- {
- for (i=0; i < array_size; i++)
- {
- j = i;
- temp = numbers[i];
- while ((j >= increment) && (numbers[j-increment] > temp))
- {
- numbers[j] = numbers[j - increment];
- j = j - increment;
- }
- numbers[j] = temp;
- }
- if (increment/2 != 0)
- increment = increment/2;
- else if (increment == 1)
- increment = 0;
- else
- increment = 1;
- }
- }
- int
- main(void)
- {
- shellSort( iList, iSize );
- for (int i = 0; i < 10; i++)
- printf("new list is :%d\n", iList[i]);
- getchar();
- }
复制代码
这个一定对。 |
|