冒泡排序

/**
 * @creator Six
 * @data 2018/12/07
 * @desc 冒泡排序
 * @param $Arr 需要排序的数组(一维)
 * @param $way 排序方式(true为顺序,false为倒序)
 */
function BubbleSort($Arr,$way=true){
    $sixarr=$Arr;
    if ((gettype($sixarr)=='array')&&($way===true||$way===false)) {
        for ($i=0; $i < count($sixarr); $i++) { 
            for ($j=0; $j < $i; $j++) { 
                if (($sixarr[$i]<$sixarr[$j])==$way) {
                    $max=$sixarr[$i];
                    $sixarr[$i]=$sixarr[$j];
                    $sixarr[$j]=$max;
                }
            }
        }
        $result=$sixarr;
    }else{
        $result='Parameter error !';/*传入参数错误提醒*/
    }
    return $result;
}
/*调用示例*/
$testArr=array(1,1561,54,54,4554,54,54,544,54,54,4,54,541,54,5,874);
var_dump(BubbleSort($testArr));/*正常调用-默认顺序*/
var_dump(BubbleSort($testArr,true));/*正常调用-顺序*/
var_dump(BubbleSort($testArr,false));/*正常调用-倒序*/
var_dump(BubbleSort($testArr,NULL));/*错误调用*/
var_dump(BubbleSort('hello world !',true));/*错误调用*/

 

你可能感兴趣的:(实用小技巧)