#include<stdio.h>
void Sort(int arr[],int length){
int i,j,temp,increment;
for(increment = length/2;increment>0;increment=increment/2){
for(i=increment;i<length;i++){
temp = arr[i];
for(j=i-increment;j>=0&&temp<arr[j];j=j-increment){
arr[j+increment] = arr[j];
}
arr[j+increment] = temp;
}
}
}
int main(){
printf("希尔排序:\n");
int i,j;
int arr[] = {5, 18, 151, 138, 160, 63, 174, 169, 79, 200};
printf("排序前:\n");
for(i=0;i<10;i++){
printf("%d ",arr[i]);
}
Sort(arr,10);
printf("排序后:\n");
for(i=0;i<10;i++){
printf("%d ",arr[i]);
}
printf("\n");
}
结果如下图
![](https://img.haomeiwen.com/i4802023/a7adf3eda2fc8a24.png)
网友评论