ホームページ  >  記事  >  php教程  >  PHPソートアルゴリズム(バブルソート、クイックソート)

PHPソートアルゴリズム(バブルソート、クイックソート)

WBOY
WBOYオリジナル
2016-06-13 11:57:33894ブラウズ

バブルソートの実装原理

①まず整理したい数字をすべて作業リストに入れます。
② リストの最初の数字から最後から2番目の数字までを1つずつ確認し、ある桁の数字が次の桁より大きい場合は、その次の桁と入れ替えます。

③交換できなくなるまで②を繰り返します。

コードの実装

コードをコピー コードは次のとおりです。


function bubbingSort(配列 $array )
{
for($i=0, $len=count($array)-1; $i<$len; $i)
{
for($j= $len;$j>$i; --$j)
> 🎜> $array[$j] = $array[$j-1];
$array[$j- 1] = $temp;
}
}
}
return $array;
}

print '

';<br> print_r(bubbingSort( array(1,4,22,5,7,6,9))) ;<br> print '
';



クイックソートの実装原則
分割統治の考え方を採用します。まずリストの前半が後半よりも小さいことを確認してから、前半と後半をそれぞれソートします。リスト全体が整うようにします。 コードの実装


コードをコピー

コードは次のとおりです。function QuickSort(array $array) {

$len = count($array);

if($len {
return $array;
}
$key = $array[0 ];
$left = array();
$right = array();
for($i=1; $i {
if( $array[ $i] < $key)
= $array[ $i];
}
}
$left = クイックソート($left);
$right = クイックソート( $right);
return array_merge($left, array($key) , $right);
}

print '

';<br> print_r(quickSort(array( 1,4,22,5,7,6,9)));<br> print '
';



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。