• 技术文章 >php教程 >PHP源码

    php 常用的排序算法代码[冒泡,递归排序

    2016-06-08 17:28:39原创560

    php 常用的排序算法代码[冒泡,递归排序

    冒泡排序算法
    function bubblesort($arr)
    {
    $n=count($arr);

    for($i=0;$i<$n;$i++)
    {
    for($j=$i;$j<=$n-1;$j++)
    {
    if($arr[$i]>$arr[$j])
    {
    $temp=$arr[$i];
    $arr[$i]=$arr[$j];
    $arr[$j]=$temp;


    }
    }
    }
    return $arr;

    }
    //直接插入排序
    function insertsort($arr)
    {
    $n=count($arr);
    for($i=1;$i<$n;++$i)
    {
    if($arr[$i]<$arr[$i-1])
    {
    $tmp=$arr[$i];
    $j=0;
    for($j=$i-1;$j>=0&&$tmp<$arr[$j];--$j)
    {
    $arr[$j+1]=$arr[$j];
    }
    $arr[$j+1]=$tmp;
    }
    }
    return $arr;

    }简单排序算法

    function simplesort($arr)
    {
    $tmp=0;
    $t=0;
    $n=count($arr);
    for($i=0;$i<$n;++$i)
    {
    $t=$i;
    for($j=$i+1;$j<$n;++$j)
    {
    if($arr[$t]>$arr[$j])
    {
    $t=$j;

    }
    }
    $tmp=$arr[$i];
    $arr[$i]=$arr[$t];
    $arr[$t]=$tmp;

    }

    return $arr;
    }快速排序算法
    function qsort($array)
    {
    $n=count($array);
    if($n<=1){return $array;}

    $key=$array[0];
    $l=array();
    $r=array();
    //分别进行递归排序,然后合成一个数组
    for($i=1;$i<$n;$i++)
    {
    if($array[$i]<=$key)
    {
    $l[]=$array[$i];
    }
    else
    {
    $r[]=$array[$i];
    }
    }
    $l=qsort($l);
    $r=qsort($r);
    return array_merge($l,array($key),$r);

    }

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:nbsp arr array return function
    上一篇:php 入门型-文件上传代码 下一篇:ajax 级联动菜单代码
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• PHP读取文本文件并逐行输出该行使用最多的字符串及对应次数• PHP一个敏感信息过滤思路• PHP汉字转换拼音• php使用curl代理实现抓取数据的方法_php技巧• drupal7 节点操作module
    1/1

    PHP中文网