希尔排序C++实现
发布时间:2020-12-16 07:45:23 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 //希尔排序#includeiostream#includearrayusing namespace std;templateclass Tvoid shell_sort(T,int);int main(){ arrayint,10 arr = {1,2,3,5,4,6,
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 //希尔排序 #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]); } } } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |