有米啦 http://blog.youmila.com
阿新 • • 發佈:2019-01-25
<?
//插入排序(一維陣列)
function insert_sort($arr){
$count=count($arr);
for($i=1; $i<$count; $i++){
$tmp=$arr[$i];
$j=$i-1;
while($arr[$j] >$tmp){
$arr[$j+1] =$arr[$j];
$arr[$j] =$tmp;
$j--;
}
}
return$arr;
}
//選擇排序(一維陣列)
function select_sort( $arr){
$count=count($arr);
for($i=0; $i<$count; $i++){
$k=$i;
for($j=$i+1; $j<$count; $j++){
if ($arr[$k] >$arr[$j])
$k=$j;
if ($k!=$i){
$tmp=$arr[$i];
$arr[$i] =$arr[$k];
$arr[$k] =$tmp;
}
}
}
return$arr;
}
//氣泡排序(一維陣列)
function bubble_sort($array){
$count=count($array);
if ($count<=0) returnfalse;
for($i=0; $i<$count; $i++){
for($j=$count-1; $j>$i; $j--){
if ($array[$j] <$array[$j-1]){
$tmp=$array[$j];
$array[$j] =$array[$j-1];
$array[$j-1] =$tmp;
}
}
}
return$array;
}
//快速排序(一維陣列)
function quick_sort($array){
if (count($array) <=1) return$array;
$key=$array[0];
$left_arr=array();
$right_arr=array();
for ($i=1; $i<count($array); $i++){
if ($array[$i] <=$key)
$left_arr[] =$array[$i];
else
$right_arr[] =$array[$i];
}
$left_arr= quick_sort($left_arr);
$right_arr= quick_sort($right_arr);
returnarray_merge($left_arr,array($key),$right_arr);
}
?>
//插入排序(一維陣列)
function insert_sort($arr){
$count=count($arr);
for($i=1; $i<$count; $i++){
$tmp=$arr[$i];
$j=$i-1;
while($arr[$j] >$tmp){
$arr[$j+1] =$arr[$j];
$arr[$j] =$tmp;
$j--;
}
}
return$arr;
}
//選擇排序(一維陣列)
function select_sort(
$count=count($arr);
for($i=0; $i<$count; $i++){
$k=$i;
for($j=$i+1; $j<$count; $j++){
if ($arr[$k] >$arr[$j])
$k=$j;
if ($k!=$i){
$tmp=$arr[$i];
$arr[$i] =$arr[$k];
$arr[$k] =$tmp;
}
}
return$arr;
}
//氣泡排序(一維陣列)
function bubble_sort($array){
$count=count($array);
if ($count<=0) returnfalse;
for($i=0; $i<$count; $i++){
for($j=$count-1; $j>$i; $j--){
if ($array[$j] <$array[$j-1]){
$tmp=$array[$j];
$array[$j-1] =$tmp;
}
}
}
return$array;
}
//快速排序(一維陣列)
function quick_sort($array){
if (count($array) <=1) return$array;
$key=$array[0];
$left_arr=array();
$right_arr=array();
for ($i=1; $i<count($array); $i++){
if ($array[$i] <=$key)
$left_arr[] =$array[$i];
else
$right_arr[] =$array[$i];
}
$left_arr= quick_sort($left_arr);
$right_arr= quick_sort($right_arr);
returnarray_merge($left_arr,array($key),$right_arr);
}
?>