PHP 버킷정렬 구현

1 개요[ | ]

PHP 버킷정렬 구현
PHP
Copy
<?php
function bucket_sort(&$a) {
    $size = count($a);
    $b=array_fill(0,$size,[]);
    foreach($a as $x) $b[intval($x*$size)][] = $x;
    foreach($b as &$b1) sort($b1);
    $pos=0;
    for($i=0; $i<$size; $i++) {
        for($j=0; $j<count($b[$i]); $j++) $a[$pos++]=$b[$i][$j];
    }
}
$arr = [0.44, 0.1, 0.99, 0.9, 0.0, 0.1, 0.43];
bucket_sort($arr);
echo implode(', ', $arr);
# 0, 0.1, 0.1, 0.43, 0.44, 0.9, 0.99

2 같이 보기[ | ]