冒泡排序

<?php
/**
 * 冒泡排序
 * Created by PhpStorm.
 * User: zhangheg
 * Date: 2019/3/4
 * Time: 22:10
 */
$arr = [12,1,3,45,20,17,15];
$count = count($arr);
$num = 0;
function bubbleSort($arr){
    if(!is_array($arr)){
        exit('数据格式必须是数组');
    }
    $cnt = count($arr);
    for($i=0;$i<$cnt-1;$i++){
        for($j=0;$j<$cnt-1-$i;$j++){
            if($arr[$j] < $arr[$j+1]){
                $temp = $arr[$j+1];
                $arr[$j+1] = $arr[$j];
                $arr[$j] = $temp;
            }
        }
        return $arr;
    }
}

function bubble($num){
    global $arr,$count;

    if($num < $count){
        for($i=0;$i<$count-1;$i++){
            if($arr[$i]>$arr[$i+1]){
                $item = $arr[$i+1];
                $arr[$i+1] = $arr[$i];
                $arr[$i] = $item;
            }
        }
        $num++;

        bubble($num);
    }

}


bubble($num);
var_dump($arr);
var_dump(bubbleSort($arr));

发表评论

电子邮件地址不会被公开。 必填项已用*标注