#include<stdio.h>
#include<stdlib.h>
#include<math.h>
void ShellSort(int A[],int n){
int d,i,j,temp;
for(d=n/2;d>=1;d=d/2){
for(i=d;i<=n;i++){
if(A[i]<A[i-d]){
temp=A[i];
for(j=i-d;j>=0 && A[j]>temp;j=j-d){
A[j+d]=A[j];
}
A[j+d]=temp;
}
}
}
}
void Printf(int A[],int n){
for(int i=0;i<n;i++){
printf("%d ",A[i]);
}
}
int main(){
int A[11]={0,7,8,5,1,4,2,3,15,7,6};
int n=11;
ShellSort(A,n);
Printf(A,n);
return 0;
}
希尔排序
最新推荐文章于 2024-08-10 07:03:33 发布