简述简单排序

被比较的数不移动,移动的是比较的数,每一轮比较都得出最小值,下一轮被比较数向右移动一位。

被比较数繁忙,因为要和所有比较数比较

function createNums(){
    for($i=0;$i<10;$i++){

        $arr[] =  random_int(1,100);
    }
    echo implode(",",$arr);
    return $arr;
}
function swap(&$a,&$b){
    $temp = $a;
    $a = $b;
    $b = $temp;
}
$arr = createNums();
function simpleSort($arr){
    $length = count($arr);
    for($i=0;$i<$length;$i++){//被比较数
        for($j=$i+1;$j<$length;$j++){//比较数
            if($arr[$i]>$arr[$j]){//被比较数i不移动,移动的是j
                swap($arr[$i],$arr[$j]);
            }
        }
    }
    return $arr;
}
$rs = simpleSort($arr);
print_r($rs);

如图,被比较的数与数组所有其他值比较,被比较数始终不移动位置,直到一轮比较完成 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值