算法 - 桶排序(简化版)
<?php /** * 桶排序(简化版) * @param int $num 输入待排序的数字在什么数字范围. * @param array $data 待排序的数组 * * // 数字范围在10之内,个数不限。 * eg: bucketSort(10, array(3, 7, 4, 6, 9, 1, 3, 5, 8, 2, 9)); * * @return string $sortResult 排序的结果 */ function bucketSort($num, $data) { // 初始化“桶” for ($i=0; $i <= $num; $i++) { $book[$i] = 0; } // 将对应的值,放入相应的桶中。 $count = count($data); for ($i=0; $i <$count ; $i++) { $book[$data[$i]]++; } // 输出“桶”中的值 $sortResult = ''; for ($i=0; $i <= $num; $i++) { for ($j=0; $j <$book[$i] ; $j++) { $sortResult .= $i; } } // 输出结果 return $sortResult; } // 执行 echo bucketSort(10, array(3, 7, 4, 6, 9, 1, 3, 5, 8, 2, 9));
posted on 2016-07-24 14:38 ultrastrong 阅读(144) 评论(0) 编辑 收藏 举报