1、冒泡排序
思路分析:在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即,每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。
<?php
function arr_sort($arr){
$count = count($arr);
$tmp = 0;
for ($i=0; $i < $count ; $i++) {
for ($j=0; $j < $count-1-$i ; $j++) {
if ($arr[$j] > $arr[$j+1]) {
$tmp = $arr[$j];
$arr[$j] = $arr[$j+1];
$arr[$j+1] = $tmp;
} else {
break; //终止内层循环
}
}
}
return $arr;
}
$arr = [11,2,4,43,6,35,32];
$new_arr = arr_sort($arr);
print_r($new_arr);
2、选择排序
思路分析:在要排序的一组数中,选出最小的一个数与第一个位置的数交换。然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。
<?php
function sel_sort($arr){
$count = count($arr);
$tmp = 0;
for ($i=0; $i < $count-1; $i