/**
* @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));/*错误调用*/