PHP数组排序

【内部排序法】

一、交换排序法

  1.冒泡排序法

<?php
//冒泡排序法(从小到大)
    $arr = array(55,20,10,8,2,0);
    function bubblesort(&$arr) {
        //第二个数排序好后,第一个数不需要再次重复循环排序,所以循环次数 < count($arr)-1
        for($i=0;$i<count($arr)-1;$i++) {
            // 每个元素依次比较,每每两元素比较大小,即循环次数 < count($arr)-1;后面已排序好的数不进行下次的循环排序,即count($arr)-$i-1
            for($j=0; $j<count($arr)-$i-1; $j++) {
                if($arr[$j]>$arr[$j+1]) {
                    $temp = $arr[$j];
                    $arr[$j] = $arr[$j+1];
                    $arr[$j+1] = $temp;
                }
//                echo ($arr[$j])."&nbsp";
            }
//            print_r($arr);
//            echo ‘<br />‘;
        }
    }
    bubbleSort($arr);
    print_r($arr);
?>

 

 

  2.快速排序法

二、选择排序法

三、插入式排序法

  1.插入排序法

  2.希尔排序法

  3.二叉树排序法

 

【外部排序法:借助外部文件排序】

注:如果将排序法封装成一个函数,以便日后直接调用该函数排序,可使用返回值,或形参加地址符【&】,如:&$arr

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。