ホームページ >バックエンド開発 >PHPチュートリアル >ダニエル
助けを求めてください Daniel
Array ( [0] => 16 [1] => 23 [2] => 34 [3] => 100 [4] => 12 [5] => 23 [6] => 31 [7] => 55 )
?アルゴリズムの検索は使用できません。 >
- -----解決策----------------------
/*
? * バブル ソート
?*/
function bubble_sort($array)
{
if(!is_array($array))
{
return false;
}
$len=count($array);
for($i=0;$i <$len-1;$i++)
{
$flag = false;
for($j=0;$j < $len-$i-1;$j++)
{
if($array[$j] > $array[$j] +1] )
{
$temp=$array[$j];
$array[$j]=$array[$j+1];
$ array[$ j+1]=$temp;
$flag = true;
}
}
if(! $flag)//この並べ替えでは値の交換は行われません。プログラムを早めに終了します
? return $array;
}
return $array;
}
/*?
?* ヒルソート
?*/
関数 shell_sort ($array)
{
if(!is_array($array))
{
return false;
}
$len=count( $array);
$d=$len;//ランダムな増分、初期値は配列の長さであり、値は連続的に 2 で除算されます
while($d > 1 )
{
$d=intval($d / 2);//グループ間隔、2 が n 値です。n 値が減少すると、移動数とデータが増加します。
$ temp=NULL;
$j=0;
for($i=$d;$i {
if ($array[$i] < $ array[$i-$d])
{
$temp=$array[$i];
$j=$i-$d ;
while(( $j >=0) && $temp < $array[$j])
{
$array[$j+$d]=$array[$j] ];
$j = $j - $d;
}
$array[$j+$d]=$temp;
}
}
}
return $array;
}
/*
?* 選択ソート
?*/
function select_sort($array)
{
if(!is_array ($array))
{
return false;
}
$len=count($array);
for($i=0;$i < ; $len;$i++)
{
$k=$i;
for($j=$i+1;$j < $len;$j++)
{
if($array[$k ] > $array[$j])
{
$k=$j;
}
}
if($i!= $k){
$temp = $array[$i];
? $array[$i] = $array[$k];
? $array[$k] = $temp;
}
}
return $array;
}
?>
------解決策---------
選択ソート、バブルソート、挿入ソート
------解決策---------
Baidu、ソートアルゴリズム、たくさん掴む
------解決策---------
データ構造を学習してください