1、PHP 四大基本排序算法包括:冒泡排序法,快速排序法,选择排序法,插入排序法。1. 冒泡排序思路分析:在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即,每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。代码实现:12345678910111213141516171819$arr=array(1,43,54,62,21,66,32,78,36,76,39); function bubbleSort($arr) $len=count($arr);/该层循环控制 需要冒泡的轮数for($i=1;$i$arr$k+1
2、)$tmp=$arr$k+1;$arr$k+1=$arr$k;$arr$k=$tmp;return $arr;2. 选择排序代码实现:12345678910function selectSort($arr) /双重循环完成,外层控制轮数,内层控制比较次数$len=count($arr);for($i=0; $i $arr$j) 1112131415161718192021222324/比较,发现更小的,记录下最小值的位置;并且在下次比较时采用已知的最小值进行比较。$p = $j;/已经确定了当前的最小值的位置,保存到$p 中。如果发现最小值的位置与当前假设的位置$i 不同,则位置互换即可。if
3、($p != $i) $tmp = $arr$p;$arr$p = $arr$i;$arr$i = $tmp;/返回最终结果return $arr;3.插入排序思路分析:在要排序的一组数中,假设前面的数已经是排好顺序的,现在要把第 n 个数插到前面的有序数中,使得这 n 个数也是排好顺序的。如此反复循环,直到全部排好顺序。代码实现:123456789101112131415161718function insertSort($arr) $len=count($arr); for($i=1, $i=0;$j-) if($tmp $arr$i) /放入左边数组$left_array = $arr$i; else /放入右边$right_array = $arr$i;/再分别对左边和右边的数组进行相同的排序处理方式递归调用这个函数$left_array = quick_sort($left_array);$right_array = quick_sort($right_array);/合并return array_merge($left_array, array($base_num), $right_array);