将制作好的网站上传去因特网,网站当前链接,做我网站,灵台县门户网原标题#xff1a;php四种基础排序算法曾经有网友问我关于面试题的问题#xff0c;今天就发一个面试题笔试经常会出的排序算法#xff0c;大家可以参考一下#xff0c;如有问题可以给我留言。/*** php四种基础排序算法的运行时间比较* authors Jesse (jesse152163.com)* da…原标题php四种基础排序算法曾经有网友问我关于面试题的问题今天就发一个面试题笔试经常会出的排序算法大家可以参考一下如有问题可以给我留言。/*** php四种基础排序算法的运行时间比较* authors Jesse (jesse152163.com)* date 2016-08-11 07:12:14*///冒泡排序法function bubbleSort($array){$temp 0;for($i 0;$i count($array) -1;$i){for($j 0;$j count($array) - 1 -$i;$j){if($array[$j] $array[$j1]){ //从小到大排列$temp $array[$j];$array[$j] $array[$j1];$array[$j1] $temp;}}}}//选择排序法function selectSort($array){$temp 0;for($i 0;$i count($array) - 1;$i){$minVal $array[$i]; //假设$i就是最小值$minValIndex $i;for($j $i1;$j count($array);$j){if($minVal $array[$j]){ //从小到大排列$minVal $array[$j]; //找最小值$minValIndex $j;}}$temp $array[$i];$array[$i] $array[$minValIndex];$array[$minValIndex] $temp;}}//插入排序法function insertSort($array){ //从小到大排列//先默认$array[0]已经有序是有序表for($i 1;$i count($array);$i){$insertVal $array[$i]; //$insertVal是准备插入的数$insertIndex $i - 1; //有序表中准备比较的数的下标while($insertIndex 0 $insertVal $array[$insertIndex]){$array[$insertIndex 1] $array[$insertIndex]; //将数组往后挪$insertIndex--; //将下标往前挪准备与前一个进行比较}if($insertIndex 1 ! $i){$array[$insertIndex 1] $insertVal;}}}//快速排序法function quickSort($array){if(!isset($array[1]))return $array;$mid $array[0]; //获取一个用于分割的关键字一般是首个元素$leftArray array();$rightArray array();foreach($array as $v){if($v $mid)$rightArray[] $v; //把比$mid大的数放到一个数组里if($v $mid)$leftArray[] $v; //把比$mid小的数放到另一个数组里}$leftArray quickSort($leftArray); //把比较小的数组再一次进行分割$leftArray[] $mid; //把分割的元素加到小的数组后面不能忘了它哦$rightArray quickSort($rightArray); //把比较大的数组再一次进行分割return array_merge($leftArray,$rightArray); //组合两个结果责任编辑