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 }

 

posted @ 2013-02-21 03:07  怪人Kook  阅读(477)  评论(0编辑  收藏  举报