#include <iostream>
using namespace std;
void ShellSort(int A[],int n){
int i,j,d,temp;
for(d=n/2;d>=1;d=d/2){
for(i=d+1;i<=n;i++){
if(A[i]<A[i-d]){
temp=A[i];
for(j=i-d;j>=0&&temp<A[j];j-=d){
A[j+d]=A[j];
}
A[j+d]=temp;
}
}
}
}
int main(){
int A[]={33,14,38,6,1,5,89,3};
ShellSort(A,8);
for(int i=0;i<8;i++){
cout<<A[i]<<" ";
}
return 0;
}
排序 - 希尔排序(C++)
于 2021-08-03 14:11:35 首次发布