PHP排序算法:选择排序

在PHP中实现数字排序很简单,我们可以将字符串转成数组,例如:

$string = '94132768';

通过

$arr = str_split(($string);

转成数组:
$arr = array(9,4,1,3,2,7,6,8);

排序算法

第一种我们可以通过使用Php的内置函数进行排序

sort($arr);升序,rsort($arr)降序

第二种是使用 选择排序法 进行排序,大概思路就是,从数组中找到最小数,然后与第1位数字进行对调,然后以此类推:

9,4,1,3,2,7,6,8

9和1对调

1,4,9,3,2,7,6,8

然后4到8中最小数为2,2和4对调

1,4,9,3,4,7,6,8

以此类推

$n = count($arr);

for($i=0;$i<$n;$i++){

    $min = $arr[$i];

    //比较[i,n)中的最小数,然后进行位置兑换
    for($j=$i+1;$j<$n;$j++){

        if($arr[$j] < $min)
                {
            $temp = $arr[$j];
            $arr[$i] = $temp;
            $arr[$j] = $arr[$i];
            $min = $arr[$j];
        }

    }

}
print_r($arr);

大家可以没事试试。很简单的算法。

猜你喜欢

转载自blog.51cto.com/13833231/2133319