php桶排序简单实现
2024-10-18 00:24:08
桶排序中最重要的环节是映射函数。
初步学习桶排序的过程中,映射比较简单。实现代码如下:
/**
* 第一种桶排序的办法,每个桶存储相同值的数据
* */ 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】 桶排序
最新文章
- Newick format tree
- Windows Phone 三、样式和资源
- ASP.NET c# textbox 正则表达式 文本框只允许输入数字(验证控件RegularExpressionValidator )
- js的bind方法
- 游戏贴图中常用术语《DC》的理解
- Javascript刷新页面的八种方法
- jquery 在页面中三种写法
- css 权威指南笔记(四)选择器
- 字符串匹配算法(KMP)
- 先有Delphi内存对象,后有句柄(如果需要的话),最后再显示
- linux下安装mysql(编译mysql源码)
- POJ-1258 Agri-Net---MST裸题Prim
- Vue-CLI和脚手架
- 基于STM8的GPIO操作---STM8-第一章
- 老男孩python学习自修第十九天【异常处理】
- 【bzoj4811】[Ynoi2017]由乃的OJ 树链剖分+线段树区间合并
- Linux Network Commands
- Fidder
- 转:C#线程系列讲座(1) BeginInvoke和EndInvoke方法
- SOAR平台初探(一)
热门文章
- [笔记] FreeBSD使用小技巧
- 网易客户端授权密码,errormsg=&#39;authentication failed (method LOGIN)&#39; exitcode=EX_NOPERM
- java处理大文本2G以上
- IC设计前后端流程与EDA工具
- php 中关于pdo的使用
- 四则运算3+psp0
- lintcode-411-格雷编码
- Java 成员初始化顺序
- TCP系列41—拥塞控制—4、Linux中的慢启动和拥塞避免(一)
- Alpha阶段事后诸葛亮分析