phpでクイックソートアルゴリズムのプログラム

サンプルのコード下記:

<?php
set_time_limit(0);
function quickSort($arr) {
if (count($arr) > 1) { /
$k = $arr[0];
$x = array();
$y = array();
$_size = count($arr);
for ($i = 1; $i < $_size; $i++) {
if ($arr[$i] <= $k) {
$x[] = $arr[$i];
} else {
$y[] = $arr[$i];
}
}

$x = quickSort($x);
$y = quickSort($y);
return array_merge($x, array($k), $y);
} else {
return $arr;
}
}
$test_array = array();
$n = 0;
//30万のレコードをテスト 
while(++$n<=300000){
$test_array[$n] = $n;
}
echo '配列の初期化<br/>’;
shuffle($test_array); //
echo 'Array shuffled<br/>’;
echo date( 'Y-m-d H:m:s’).'<br/>’;
$res = quickSort($test_array);
echo date('Y-m-d H:m:s’);
?>

Development

Posted by arkgame