php实现计数排序
2016-01-20 11:29
519 查看
php实现计数排序
这个是参考百度百科的C语言版本,算法思想很简单,就是在相等的数处理的时候有问题,不过后来也想通了,也加上了注释。<?php
$arr=array(1,2,3,5,2,3,9,8,3,2,7,4,9,8,0,4,587,93,47,59,8,2,6,83,4,9,65,2,18,7);
printArr($arr);
echo "<hr>";
function counting_sort(&$arr){
$arr_=array();
$cnt=0;
$len=count($arr);
for($i=0;$i<$len;$i++){//从第一个开始找比它小的数有多少个
$cnt=0;
for($j=0;$j<$len;$j++)
if($arr[$i]>$arr[$j])
$cnt++; //计数比他小的有多少个
while($arr_[$cnt]!=0 && $cnt<$len)
$cnt++; //对于相等的数,那么$arr_一定不为0,则cnt向前走一位进行存储
$arr_[$cnt]=$arr[$i];
}
for($i=0;$i<$len;$i++)
$arr[$i]=$arr_[$i];
}
counting_sort($arr);
printArr($arr);
function printArr($arr){
for($i=0;$i<count($arr);$i++)
echo ' '.$arr[$i];
echo "\n";
}
?>
相关文章推荐
- CodeIgniter配置之database.php用法实例分析
- vsftpd 500
- 分类或检索 评价指标FRR, FAR, TPR, FPR, ROC curve, ACC, SPC, PPV, NPV
- PHP计算上个月的开始时间和结束时间戳
- PHP 字符串分割 explode 与 str_split 函数
- PHP获取windows登录用户名的方法
- EditPlus仿Sublime配色方案(三种任你选择)
- php获取文件夹下面的文件列表和文件夹列表
- 从phpMyAdmin批量导入Excel内容到MySQL
- AJAX学习笔记(四)——HTPP请求原理
- 用yii2进行微信公众平台进行开发时应注意的问题
- php CLI的使用与扩展安装
- lnmp1.2支持ThinkPhp pathinfo及rewrite
- php 无限分类
- 利用PHPWord生成文档的应用例子
- Debian 升级到 PHP 7,并支持并行安装
- 教你php如何实现验证码
- php session 入库
- 七牛开发文档php
- PHP:Xdebug配置