这两个算法是php中常用的 冒泡排序 两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
function maopao($arr){ $count = count($arr); if($count == 1){ return $arr; }else if($count > 1){ for($i=0; $i<$count; $i++){ for($j=$count-1; $j<$i; $j--){ if($arr[$j]<$arr[$j-1]){ $temp = $arr[$j]; $arr[$j] = $arr[$j-1]; $arr[$j-1] = $temp; } } } return $arr; }else{ return false; } } $array = array(43,54,23,67,7,8,3); var_dump(maopao($array)); |
快速排序 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据……