php冒泡排序和快速排序笔记
生活随笔
收集整理的這篇文章主要介紹了
php冒泡排序和快速排序笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
<?php
$arr = array(12,1,5,88,35,0,18,100,50,21,28,7,9,9.5);//交換兩值
function swap(&$m, &$n){$temp = $m;$m = $n;$n = $temp;/* 如數組中有小數時,以下方法會省略小數點后面的數$m = $m ^ $n;$n = $m ^ $n;$m = $m ^ $n;*/
}//冒泡排序
function bubbleSort($arr){if(!is_array($arr)) return $arr;$count = count($arr);for($i=1; $i<$count; $i++){for($j=0; $j<$count-$i;$j++){if($arr[$j] > $arr[$j+1]){/*$temp = $arr[$j];$arr[$j] = $arr[$j+1];$arr[$j+1] = $temp;*//*$arr[$j] = $arr[$j] + $arr[$j+1];$arr[$j+1] = $arr[$j] - $arr[$j+1];$arr[$j] = $arr[$j] - $arr[$j+1];*//*$arr[$j] = $arr[$j] ^ $arr[$j+1];$arr[$j+1] = $arr[$j] ^ $arr[$j+1];$arr[$j] = $arr[$j] ^ $arr[$j+1];*/swap($arr[$j], $arr[$j+1]);}}}return $arr;
}$arr2 = bubbleSort($arr);
echo implode(',', $arr2).'<hr>';//冒泡排序
function bubbleSort2($arr){if(!is_array($arr)) return $arr;$count = count($arr);for($i=0; $i<$count-1; $i++){for($j=$i+1; $j<$count; $j++){if($arr[$i] < $arr[$j]){/*$arr[$i] = $arr[$i] + $arr[$j];$arr[$j] = $arr[$i] - $arr[$j];$arr[$i] = $arr[$i] - $arr[$j];*/swap($arr[$i], $arr[$j]);}}}return $arr;
}
$arr3 = bubbleSort2($arr);
echo implode(',', $arr3).'<hr>';;//快速排序
function quickSort($arr){if(!is_array($arr)) return $arr;$len=count($arr);for($i=0; $i<$len; $i++){$min = $arr[$i];for($j=$i+1; $j<$len; $j++){if($arr[$i] > $arr[$j]){$temp = $arr[$i];$arr[$i] = $arr[$j];$arr[$j] = $temp;}}$min = $arr[$j];}return $arr;
}
$arr4 = quickSort($arr);
echo implode(',', $arr4);
?>
?
轉載于:https://www.cnblogs.com/lltong/archive/2012/07/09/2582223.html
總結
以上是生活随笔為你收集整理的php冒泡排序和快速排序笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: command line
- 下一篇: 数据库备份失败问题