PHP实现四种基本排序算法
Posted PHP在线
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP实现四种基本排序算法相关的知识,希望对你有一定的参考价值。
本文中主要展示了用php 实现冒泡排序法,快速排序法,选择排序法,插入排序法
并以从小到大的顺序进行排序。
1、冒泡排序
function bubbleSort($arr){
$count = count($arr);
for($i=0;$i<$count;$i++){
for($k=0;$k<$count-1;$k++){
if($arr[$i]<$arr[$k]){
$temp = $arr[$k];
$arr[$k]= $arr[$i];
$arr[$i]= $temp;
}
}
}
return $arr;
}
2、选择排序
function selectSort($arr){
$count = count($arr);
for($i=0;$i<$count-1;$i++){
$min = $i;
for($k=$i+1;$k<$count;$k++){
if($arr[$min]>$arr[$k]){
$min = $k;
}
}
if($min != $i){
$temp = $arr[$min];
$arr[$min]=$arr[$i];
$arr[$i]=$temp;
}
}
return $arr;
}
3、选择排序
function insertSort($arr){
$count = count($arr);
for($i=1;$i<$count;$i++){
$temp = $arr[$i];
for($k=$i-1;$k>=0;$k--){
if($temp<$arr[$k]){
$arr[$k+1]=$arr[$k];
$arr[$k] = $temp;
}else{
break;
}
}
}
return $arr;
}
4、快速排序
function quickSort($arr) {
$length = count($arr);
if($length <= 1) {
return $arr;
}
$base_num = $arr[0];
$left_array = array();
$right_array = array();
for($i=1; $i<$length; $i++) {
if($base_num > $arr[$i]) {
$left_array[] = $arr[$i];
} else {
$right_array[] = $arr[$i];
}
}
$left_array = quickSort($left_array);
$right_array = quickSort($right_array);
return array_merge($left_array, array($base_num), $right_array);
}
以上是关于PHP实现四种基本排序算法的主要内容,如果未能解决你的问题,请参考以下文章