设为首页 加入收藏

TOP

算法数据结构C++实现5 - Bucket Sort 吊桶排序
2015-11-21 01:49:30 来源: 作者: 【 】 浏览:8
Tags:算法 数据结构 实现 Bucket Sort 排序
吊桶排序的排序速度很快,平均是O(n),能达到这么快的速度其中一个原因是它假设了输入值为范围是[0, 1)的小数。
Introduction to Algorithm这本书里面章8.4的算法,首先把原数组按照一定规律对照到每个吊桶(Bucket)里面,然后对每个Bucket排序,最后把这些Bucket串起来,就成为一个有序序列了。
下面是C++完整代码:
?
#include  
#include  
#include  
#include  
#include  
  
using namespace std;  
  
template  
void bucketSort(typename C& ca)     //难点  
{  
    int n = ca.size();  
    int k = 0, i = 0;  
    vector > vld(n);       //难点  
  
    for(i=0; i caTemp;  
    for(i = 0; i  
class Print  
{  
public:  
    Print(){}  
    void inline operator()(const T& x) const{cout< ld(a, a+10);     
  
    //排序前  
    for_each(ld.begin(), ld.end(), Print());  
    cout< 
  

?

?
总结:
C++是个非常好的开发工具,但是如果不熟悉的话,还是挺耗时间的。 编程的时候一定要注意每一个细节,不然就可能被这些细节耽误很多时间。思维一定要保持高度逻辑性,否则就很难debug好。所谓差之毫厘谬以千里,有时候会被一个小;号,和&号搞的代码出错的,所以要非常注意。
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++ 操作符重载 operator = 、ope.. 下一篇 TOJ 4367 ZOJ 3631 Watashi'..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: