简单意义上的桶排序(PHP实现)-php教程

资源魔 72 0
简略意思上的桶排序:

● 桶排序的原理是先布置N+1个桶作为容器,若数据范畴为N的话。

● 而后将测试数据(所需排序的数据)进行轮回,放入对应的桶内。数据肯定是正在范畴N内的。

● 最初,轮回桶里的元素,而且输入,进行从年夜到小或从小到年夜的排序。

例如:

● 咱们的取值范畴是10,那末就要界说一个 11长度的数组$arr. 而且让一切的元素值都为0

● 而后,对需求排序的数组进行轮回 如5,3,5,2,8.

● 将数据顺次对应$arr桶数组内元素,即 假如是5,则使$arr[5]++.

● 这时候候 $arr[2]=1 $arr[3]=1 $arr[5]=2 $arr[8]=1

● 而后轮回$arr的数组,若$arr[2]=1,则轮回输入元素2一次,$arr[5]=2,则轮回输入5两次

● 后果输入即为 2 3 5 5 8

● 假如轮回数值是从年夜到小 则会是从年夜到小的排序

<?php
//设置默许数组,默许值为0;
$arr = array();
for ($i = 0; $i <= 10; $i++) {
    $arr[$i] = 0;
}
//设置测试的五个数据
$arr1 = array(5, 3, 5, 2, 8);
//依据数据 对默许数组的对应元素进行+1;  J的取值范畴不克不及等于$arr1数组长度  
for ($j = 0; $j < count($arr1); $j++) {
    //这边给相应的数组值+1
    $arr[$arr1[$j]]++;
}
//开端轮回输入  默许数组 $arr 外面相应的值
for ($k = 0; $k <= 10; $k++) {
    
    for ($l=1; $l <=$arr[$k]; $l++) { 
        echo "$k </n>";
    }
}
?>

缺陷:

● 糜费空间.

● 无奈进行浮点数据的排序.

更多编程相干内容,请存眷资源魔编程入门栏目!

以上就是简略意思上的桶排序(PHP完成)的具体内容,更多请存眷资源魔其它相干文章!

标签: php开发教程 php开发资料 php开发自学 桶排序

抱歉,评论功能暂时关闭!