桶排序中最重要的环节是映射函数。

初步学习桶排序的过程中,映射比较简单。实现代码如下:

/**
* 第一种桶排序的办法,每个桶存储相同值的数据
* */ function bucketSort($nonSortArray){
//选出桶中最大值和最小值
$min = min($nonSortArray);
$max = max($nonSortArray); //生成桶,默认每个桶中数据只有0个
$bucket = array_fill($min, $max-$min+1, 0); //数据入桶
foreach ($nonSortArray as $value){
$bucket[$value]++;//对应桶的个数计增
} //数据出桶
$sortArray = array();
foreach ($bucket as $k=>$v){
for($i=1;$i<=$v;$i++){
//每个桶中的数据个数
$sortArray[]=$k;
}
}
return $sortArray;
} $array = array(58,5,96,75,4,69,82,35,64,15,23,69,8,5,2,52);
$arr = bucketSort($array);
echo implode(",", $arr);

  

建议学习链接:

【排序结构6】 桶排序

最新文章

  1. Newick format tree
  2. Windows Phone 三、样式和资源
  3. ASP.NET c# textbox 正则表达式 文本框只允许输入数字(验证控件RegularExpressionValidator )
  4. js的bind方法
  5. 游戏贴图中常用术语《DC》的理解
  6. Javascript刷新页面的八种方法
  7. jquery 在页面中三种写法
  8. css 权威指南笔记(四)选择器
  9. 字符串匹配算法(KMP)
  10. 先有Delphi内存对象,后有句柄(如果需要的话),最后再显示
  11. linux下安装mysql(编译mysql源码)
  12. POJ-1258 Agri-Net---MST裸题Prim
  13. Vue-CLI和脚手架
  14. 基于STM8的GPIO操作---STM8-第一章
  15. 老男孩python学习自修第十九天【异常处理】
  16. 【bzoj4811】[Ynoi2017]由乃的OJ 树链剖分+线段树区间合并
  17. Linux Network Commands
  18. Fidder
  19. 转:C#线程系列讲座(1) BeginInvoke和EndInvoke方法
  20. SOAR平台初探(一)

热门文章

  1. [笔记] FreeBSD使用小技巧
  2. 网易客户端授权密码,errormsg=&#39;authentication failed (method LOGIN)&#39; exitcode=EX_NOPERM
  3. java处理大文本2G以上
  4. IC设计前后端流程与EDA工具
  5. php 中关于pdo的使用
  6. 四则运算3+psp0
  7. lintcode-411-格雷编码
  8. Java 成员初始化顺序
  9. TCP系列41—拥塞控制—4、Linux中的慢启动和拥塞避免(一)
  10. Alpha阶段事后诸葛亮分析