希尔排序C++实现
2018-07-20 来源:open-open
//希尔排序 #include<iostream> #include<array> using namespace std; template<class T> void shell_sort(T&, int); int main() { array<int, 10> arr = {1,2,3,5,4,6,7,8,9,0}; shell_sort(arr, arr.size()); for(auto i:arr) { cout << i << endl; } return 0; } template<class T> void shell_sort(T& arr, int cont) { for(int increment = cont/2; increment > 0; increment/=2) { for(int j = 0; j < cont; j++) //切记是向已经排好序的数中再进行比较 { for(int k = j; k-increment >= 0 && arr[k] > arr[k-increment]; k -= increment) { swap(arr[k], arr[k-increment]); } } } }
标签: swap
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇:Python获取系统信息的代码
最新资讯
热门推荐