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实现四种基本排序算法的主要内容,如果未能解决你的问题,请参考以下文章

PHP实现四种基本排序算法

PHP实现四种基本排序算法

PHP实现四种基本排序算法

php几种排序算法实例详解

PHP四种基本排序算法

php 四种基本排序算法