希尔排序
//对一维数组中的数据从小到大排序
//基本思想:直接插入的进阶版
//将整个待排序元素序列分割成几个子序列
//分别进行插入排序
//待整个序列的元素基本有序时,对全体元素进行一次直接插入排序
#include<iostream>
#include<math.h>
using namespace std;
int main(){
string a="gfgfgfddbda";
for(double i=11;i>1;){
i=round(i/2);
for(int j=0;j+(int)i<11;j++){
if(a[j]>a[j+(int)i]){
swap(a[j],a[j+(int)i]);
}
}
}
for(int i=0;i<11;i++){
cout<<a[i];
}
return 0;
}

浙公网安备 33010602011771号