******挿入ソート(一次元配列)
1、最初の要素から開始して、要素はソートされているとみなすことができます
2、次の要素を取り出します、並べ替えた後、要素シーケンスを後ろから前にスキャンします
3. (並べ替えられた) 要素が新しい要素より大きい場合は、要素を次の位置に移動します
4. 並べ替えられた要素が見つかるまで手順 3 を繰り返します。それは新しい要素の位置以下です
5、この位置に新しい要素を挿入します
6、ステップ2を繰り返します
*/
function insert_sort($arr)
{
$ $ len = count($ arr); 1] = $tmp;
}
Return $arr;
}
/*
****** バブルソート(1次元配列)
1、隣接する要素を比較します。最初のものが 2 番目のものより大きい場合は、両方を交換します。
2. 隣接する要素の各ペアに対して、最初の最初のペアから最後の最後のペアまで同じ作業を実行します。この時点では、最後の要素が最大の数値である必要があります。
3. 最後の要素を除くすべての要素に対して上記の手順を繰り返します。
4. 比較する数値のペアがなくなるまで、要素を減らして上記の手順を繰り返します。
*/
function bubble_sort($arr)
{
$len = count($arr);
for ($i=0; $i<$len; $i++)
{
( $j=$len-1; $j>$i; $j--) $ tmp = $arr[$j-1]; } }
}
return $arr;
}
/*
******選択ソート (1 次元配列)
1、まず、ソートされていないシーケンス内の最小の要素を見つけて、それをソートされたシーケンスの開始位置
2 に格納し、次に、ソートされていない残りの要素から最小の要素を取り出し、それをソートされたシーケンスの最後に置きます。
3 など、すべての要素が並べ替えられるまで続きます。
*/
function select_sort($arr){
$count = count($arr);
for($i=0; $i<$count-1; $i++)
{
$ k = $i;
for($j=$i+1; $j<$count; $j++)
{
if ($arr[$k] > $arr[$j])
{
$arr[$k];
次元配列)
1、最初に中央の値をランダムに選択し、
2、中央の値より小さい値を左側に置き、中間値右側で
3を選択し、左側と右側の値をそれぞれ比較します。側面データはステップ1と2を再帰的に呼び出して、左側、中央の値、右側のデータをマージします。
*/
関数 Quick_sort($arr)
{
if (count($arr) <= 1)
{
return $arr;
}
$key = $arr[0];
$left_arr = array();
$right_arr = array();
for ($i=1; $i
{
if ($arr[$i] <= $key) $left_arr[ ] = $arr[$i];
else $right_arr[] = $arr[$i];
}
$left_arr = Quick_sort($left_arr);
$right_arr = Quick_sort($right_arr);
Array_merge($ left_arr、$ key、$ right_arr);
} $ a = asray(123,321,432,341345,45234,53,493); a));
print_r(bubble_sort($a));
print_r(insert_sort($a));
print_r(quick_sort($a));
echo "";