PHP基础算法之——冒泡排序算法
2019-10-24 本文已影响0人
技术知识分享
冒泡排序法
描述:冒泡排序大概的意思是依次比较相邻的两个数,然后根据大小做出排序,直至最后两位数。由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。
/**
* 冒泡排序算法
* @param array $arr
* @return array
*/
function bubble_sort($arr) {
// 判断参数是否为数组,且不为空
if (!is_array($arr) || empty($arr)) {
return $arr;
}
// 循环需要冒泡的轮数
$count = count($arr);
for ($i = 1, $len = $count; $i < $len; $i++) {
// 循环每轮需要比较的次数
for ($j = 0; $j < $len - $i; $j++) {
// 大的数,交换位置,往后挪
if ($arr[$j] > $arr[$j + 1]) {
$temp = $arr[$j + 1];
$arr[$j + 1] = $arr[$j];
$arr[$j] = $temp;
}
}
}
return $arr;
}
优点:简单,方便
缺点:效率低,执行效率慢
PS:如有比较好的解决方案可以评论或者私信
更多相关文章请关注: