箱排序的PHP实现 Bin Sort Bucket sort

2011-01-14 阅读 39

箱排序(Bin Sort)的PHP实现,又称为Bucket sort桶排序

<pre class="brush:php;">    function out_arr($arr) {
	return implode(', ', $arr).'
';
}

function sort_bin($arr) {
	$boxes = array();
	foreach ($arr as $v) {
		$boxes[$v][] = $v;
	}
	
	$ret = array();
	$min = min($arr);
	$max = max($arr);
	for ( $i = $min; $i <= $max; $i++ ) {
		if( isset($boxes[$i]) ) {
			$ret = array_merge($ret, $boxes[$i]);
		}
	}
	return $ret;
}

echo '<pre>';
$arr = range(1, 20);
shuffle($arr);
echo 'ORG : '.out_arr($arr);
$arr = sort_bin($arr);
echo 'RET : '.out_arr($arr);
echo '</pre>';
```

php 箱 排序 bin sort 算法 实现 Bucket

更新于 2023年03月28日