栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

PHP的四种基本排序整理

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PHP的四种基本排序整理

1. 冒泡排序
function bubbleSort ($arr) {     if (!is_array($arr)) return false;
     $len = count($arr);     if ($len <= 1) return $arr;    //控制需要处理冒泡次数
    for ($i=1; $i<$len; $i++) {        //控制数组需要比较冒泡次数
        for ($k=0; $k < $len-$i; $k++)  {            if ($arr[$k] > $arr[$k+1]) {
                $tmp = $arr[$k];
                $arr[$k] = $arr[$k+1];
                $arr[$k+1] = $tmp;
            }
        }
    }    return $arr;
}
2. 选择排序
function selectSort($arr){        if (!is_array($arr)) return false;
        $len = count($arr);        if ($len <= 1) return $arr;    //设置最小值,遍历整个数组
    for ($i=0; $i<$len-1; $i++) {        //最小值为$i
        $p = $i;        for ($j=$i+1; $j<$len; $j++) {            //得到值最小的下标
            if ($arr[$p] > $arr[$j]) {
                $p = $j;
            }
        }        if ($p != $i) {
            $tmp = $arr[$i];
            $arr[$i] = $arr[$p];
            $arr[$p] = $tmp;
        }
    }    return $arr;
}
3. 快速排序
function quickSort($arr){    if (!is_array($arr)) return false;
    $len = count($arr);    if ($len <= 1) return $arr;
    $right = $left = array();    for ($i=1; $i<$len; $i++) {        if ($arr[$i] < $arr[0]) {
            $left[] = $arr[$i];
        } else {
            $right[] = $arr[$i];
        }
    }
    $left  = $quickSort($left);
    $right = $quickSort($right);    return array_merge($left, array($arr[0]), $right);
}
4. 插入排序
function insertSort($arr){
    $len = count($arr);    for ($i=1; $i<$len; $i++) {        //假设当前值
        $tmp = $arr[$i];        //需要插入次数
        for ($j=$i-1; $j>=0; $j--) {            //位置互换
            if ($tmp < $arr[$j]) {
                $arr[$j+1] = $arr[$j];
                $arr[$j]    = $tmp;
            } else {                break;
            }
        }
    }    return $arr;
}



作者:蚂蚁窝大梦想
链接:https://www.jianshu.com/p/ea8305e3df16

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/227448.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号