C++排序系列(二) 交换排序之简单排序
2013-02-21 03:07
295 查看
郑重声明:本文是笔者根据个人理解所写,错误难免,欢迎拍砖!
可以任意转载、修改,转载时是否标明出处,随君而定!
交换排序应该是交换排序里面最简单,也最容易理解的一个排序算法,比较接近人的习惯思维。扫描整个数据,从第0个元素开始,跟以后的元素逐个比较,按照排序规则(从小到大或者从大到小)交换顺序,比较完第a后再去比较第a+1个元素,以此类推。
可以任意转载、修改,转载时是否标明出处,随君而定!
交换排序应该是交换排序里面最简单,也最容易理解的一个排序算法,比较接近人的习惯思维。扫描整个数据,从第0个元素开始,跟以后的元素逐个比较,按照排序规则(从小到大或者从大到小)交换顺序,比较完第a后再去比较第a+1个元素,以此类推。
template <typename T> void swap(T& lhs, T& rhs) { T tmp = lhs; lhs = rhs; rhs = T; } template <template T> void simple_exchange_sort(T v[], const int sz) { for (int i=0; i < sz-1; ++i) { for (int j=i+1; j < sz; ++j) { if (v[i] > v[j]) { swap<T>(v[i], v[j]); } } } }
相关文章推荐
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- 简单排序总结:选择、插入、交换
- [回归基础系列]-简单选择排序[JAVA]
- 算法系列(三)插入排序的两种改进:规避边界检测和取消交换(Java实现)
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- 八大排序方法汇总(选择排序,插入排序-简单插入排序、shell排序,交换排序-冒泡排序、快速排序、堆排序,归并排序,计数排序)
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- 一种简单交换排序
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- 经典算法系列之四 直接选择排序及交换二个数据的正确实现
- 【转载】白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- 经典排序算法系列之三:交换排序
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- HDU-1465-不容易系列之一(简单全错位排序)
- 排序算法系列-交换之快速排序
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- C++排序系列(一) 插入排序之直接插入排序