在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);
大家可以沒事試試。很簡單的算法。