phpベースアルゴリズム
3087 ワード
tips:phpベースアルゴリズムカクテルはネットから
$i ; $j--) {
if ($arr[$j] < $arr[$j - 1]) {
$_tmp = $arr[$j];
$arr[$j] = $arr[$j - 1];
$arr[$j - 1] = $_tmp;
}
}
}
return $arr;
}
// $arr_maopao = MaoPao($arr);
// echo " :";
// print_r($arr_maopao);
// echo "\r
";
#
# : , , ( )
function cocktailSort($arr,$sort='asc'){
$sorted = false;
$bottom = 0;
$top = count($arr)-1;
while(!$sorted){
$sorted = true;
for ($i = $bottom; $i < $top; $i++) {
if(($arr[$i]>$arr[$i+1]&&$sort=='asc')||($arr[$i] $bottom; $i--) {
if(($arr[$i]$arr[$i-1]&&$sort=='desc')){
$temp = $arr[$i-1];
$arr[$i-1] = $arr[$i];
$arr[$i] = $temp;
$sorted = false;
}
}
//$bottom+1 ( )
$bottom++;
}
return $arr;
}
// $res = cocktailSort($arr);
// var_dump($res);
#
# : ,
function KuaiPai ($arr) {
$count = count($arr);
// $key = $arr[0]; //
$left = $right = array(); //
$l_len = $r_len = 0; //
for ($i = 1; $i < $count; $i++) {
if ($arr[$i] < $arr[0]) {
$left[] = $arr[$i];
$l_len++;
} else {
$right[] = $arr[$i];
$r_len++;
}
}
if ($l_len > 1) {
$left = KuaiPai($left);
}
if ($r_len > 1) {
$right = KuaiPai($right);
}
// $new_arr = $left;
$new_arr = [];
$new_arr = $left;
$new_arr[] = $arr[0];
// array_merge($new_arr,$right);
for($i = 0; $i < $r_len; $i++) {
$new_arr[] = $right[$i];
}
return $new_arr;
}
// $arr_kp = KuaiPai($arr);
// echo " :";
// print_r($arr_kp);
// echo "\r
";
// n^2 / 2
function XuanZe ($arr) {
$count = count($arr);//
for ($i = 0; $i < $count - 1; $i++) {
$_min = $arr[$i];
$_min_sub = $i; //
for ($j= $i + 1; $j < $count; $j++) {
if ($arr[$j] < $_min) {
$_min = $arr[$j];
$_min_sub = $j;
}
}
$arr[$_min_sub] = $arr[$i];
$arr[$i] = $_min;
}
return $arr;
}
// $arr_xz = XuanZe($arr);
// echo " :";
// print_r($arr_xz);
// echo "\r
";
// n^2
// , , 。
function ChaRu ($arr) {
$len=count($arr);
for($i=1; $i=0;$j--) {
if($tmp < $arr[$j]) {
// , ,
$arr[$j+1] = $arr[$j];
$arr[$j] = $tmp;
} else {
// , , 。
break;
}
}
}
return $arr;
}
$arr_cr = ChaRu($arr);
echo " :";
print_r($arr_cr);
echo "\r
";