分享php排序的四种算法与代码。
冒泡:
function bubble_sort($arr){
$num = count($arr);
for($i=0;$i<$num;$i++){
for($j=$num-1;$j>$i;$j--){
if($arr[$j-1]>$arr[$j]){
$tmp = $arr[$j];
$arr[$j] = $arr[$j-1];
$arr[$j-1] = $tmp;
}
}
}
return $arr;
}
选择:
function select_sort($arr){
for($i=0;$i<count($arr)-1;$i++){
for($j=$i+1;$j<count($arr);$j++){
if($arr[$i]>$arr[$j]){
$tmp = $arr[$i];
$arr[$i] = $arr[$j];
$arr[$j] = $tmp;
}
}
}
return $arr;
}
插入:
function insert_sort($arr){
$num = count($arr);
for($i=1;$i<$num;$i++){
$tmp =
$arr[$i];
$j = $i-1;
while($arr[$j]>$tmp){
$arr[$j+1]=$arr[$j];
$arr[$j]=$tmp;
$j--;
}
}
return $arr;
}
快速:
function quick_sort($arr){
if (count($arr) <= 1) return
$arr;
$arr_left = array();
$arr_right = array();
$key = $arr[0];
for($i=1;$i<count($arr);$i++){
if($key>$arr[$i]){
$arr_left[] = $arr[$i];
}else{
$arr_right[] = $arr[$i];
}
}
$arr_left = quick_sort($arr_left);
$arr_right =
quick_sort($arr_right);
$arr =
array_merge($arr_left,array($key),$arr_right);
return $arr;
}
>>> 您可能感兴趣的文章:
php实用快速排序算法的实例代码
PHP各种排序算法的实现汇总
php冒泡排序的小例子
php 实现冒泡排序的简单例子
PHP二维数组排序自定义函数
php 选择排序的实现代码
php
冒泡排序的实现代码
php插入排序的实现代码
php实现快速排序(quick
sort)的函数
php实现快速排序的函数
php冒泡排序之交换排序法
php冒泡排序(bubble
sort)的例子
php实现冒泡排序算法的代码
php冒泡排序算法一例
php冒泡排序与快速排序的例子