#include <bits/stdc++.h> using namespace std; int main(){ string a="liuyixing"; for(double i=9;i>1;){ i=round(i/2); for(int j=0;j+i<9;j++){ if(a[j]>a[j+(int)i]){ swap(a[j],a[j+(int)i]); } } } for(int i=0;i<9;i++){ cout<<a[i]<<" "; }
//对一维数组中的十个数据进行从小到大排序:
基本思想:是直接插入排序的进阶版本
将整个待排序元素序列分割成若干个子序列
(由相隔某个“增量”的元素组成)分别进行直接插入排序然后缩减增量再进行排序
待整个序列中的元素基本有序(增量足够小)时,在对全体元素进行一次直接插入排序
标签:int,插入排序,元素,希尔,增量,序列,排序 From: https://www.cnblogs.com/fushuxuan/p/18147200