您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

PHP如何实现计数排序的代码

2024/4/3 12:56:16发布17次查看
这篇文章给大家介绍的内容是关于php如何实现计数排序的代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
/** * 计数排序: 桶排序的一种 */$arr = [5,69,4,32,14,8,74,95,23,56,41,5,31,63];// include 'data.php';$length = count($arr);$maxvalue = $arr[0];// 找出数组中的最大值for ($i=1; $i < $length; $i++) { if ($arr[$i] > $maxvalue) {        $maxvalue = $arr[$i];    }}/** * 定长数组, 键会自动排序, php数组是hash表的实现, * 如果这里用普通的数组, 键不会自动排序, 不存在的键也不会自动填充null */$frequency = new splfixedarray($maxvalue + 1);/** * 统计arr中, 值出现的频次 */for ($i=0; $i < $length; $i++) {    if(empty($frequency[$arr[$i]]))        $frequency[$arr[$i]] = 0;    $frequency[$arr[$i]] += 1;}// 清空$arr$arr = [];// 遍历frequency, 如果其元素有值, 那么将键push到arr中for ($i=0; $i < count($frequency); $i++) {    if (!empty($frequency[$i])) {        for ($j=0; $j < $frequency[$i]; $j++) {            $arr[] = $i;        }    }}print_r($arr);
相关文章推荐:
php中echo()函数的用法(附代码)
nginx如何来配置隐藏入口文件index.php(代码)
以上就是php如何实现计数排序的代码的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product