php实现基数排序
来源:互联网 发布:知乎 pocket 编辑:程序博客网 时间:2024/06/10 01:26
php实现基数排序
在百度上查了一下资料,然后又听了一下关于这个的课,感觉不算是原创的吧,因为好多代码的思想都是看别人的。
整个代码写了一个多小时,php果然是一个很强大的语言啊,以前都是用c写这类东西,现在突然转到php了,感觉突然还有些不习惯。家里没有暖气,手都快冻僵了,好了,粘代码,暖手。
<?php
for($i=0;$i<500;$i++)
$arr[$i]=rand(0,10000);
printArr($arr);
echo "<hr>";
function base_sort(&$arr){
$len=count($arr);
$max=0;
$cnt=0;
$arr_=array();
for($i=0;$i<$len;$i++) //获取数组中的最大值
if($arr[$i]>$max)
$max=$arr[$i];
while($max/10!=0){ //获取最大值一共有多少位,以便于以后决定进行多少次入桶和出桶
$max=(int)$max/10;
$cnt++;
}
$cnt--;
for($i=0;$i<$cnt;$i++){
$temp=pow(10,$i);
for($j=0;$j<$len;$j++){ //将每一个元素进行入桶
$a=$arr[$j]/$temp%10;
$arr_[$a][]=$arr[$j];
}
for($arr_index=0,$k=0;$k<10;$k++){ //将每一个元素进行出桶,并将他们进行合并
for($j=0;$j<count($arr_[$k]);$j++){
if(!empty($arr_[$k])){
$arr[$arr_index++]=$arr_[$k][$j];
}
}
}
unset($arr_);
}
}
base_sort($arr);
printArr($arr);
function printArr($arr){
for($i=0;$i<count($arr);$i++)
echo ' '.$arr[$i];
echo "\n";
}
?>
- php实现基数排序
- 基数排序的PHP实现
- PHP实现排序算法----基数排序(Radix Sort)
- 基数排序C语言实现
- 基数排序的java实现
- 基数排序的完整实现
- radixSort 基数排序算法实现
- 基数排序(java实现)
- 基数排序-C语言实现
- 实现基数排序算法
- 基数排序java实现代码
- 基数排序 C语言实现
- Java实现基数排序
- C++实现基数排序
- 基数排序的 Java 实现
- python实现基数排序
- 基数排序java实现
- 基数排序Java实现
- C++中placement new操作符(经典)
- spring mvc 支持options方法
- 区间操作练习
- 关于PreparedStatement.addBatch()方法
- ssm+easyui(框架的搭建)
- php实现基数排序
- cocos-lua 场景切换动画
- bzoj3781 小B的询问【莫队】
- 设计模式--单例模式
- 邮件服务器hMailServer
- HIbernate报should be mapped with insert="false" update="false“错
- STM32的SYSTICK详解
- 程序员保持健康的7个秘诀
- 数据结构--图的理解:深度优先和广度优先遍历及其 Java 实现