C++排序系列(二) 交换排序之简单排序
郑重声明:本文是笔者根据个人理解所写,错误难免,欢迎拍砖!
可以任意转载、修改,转载时是否标明出处,随君而定!
交换排序应该是交换排序里面最简单,也最容易理解的一个排序算法,比较接近人的习惯思维。扫描整个数据,从第0个元素开始,跟以后的元素逐个比较,按照排序规则(从小到大或者从大到小)交换顺序,比较完第a后再去比较第a+1个元素,以此类推。
1 template <typename T> 2 void swap(T& lhs, T& rhs) 3 { 4 T tmp = lhs; 5 lhs = rhs; 6 rhs = T; 7 } 8 9 template <template T> 10 void simple_exchange_sort(T v[], const int sz) 11 { 12 for (int i=0; i < sz-1; ++i) 13 { 14 for (int j=i+1; j < sz; ++j) 15 { 16 if (v[i] > v[j]) 17 { 18 swap<T>(v[i], v[j]); 19 } 20 } 21 } 22 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步