• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php常用的排序实现方法实例

php 搞代码 3年前 (2022-01-22) 9次浏览 已收录 0个评论

本文主要和大家分享php常用的排序实现方法实例,希望能帮助到大家。

<?php    $arr=  array(12,2,33,51,26,9,28);   $arr1=InsertSort($arr);   var_dump($arr1);   $arr2=quickSort($arr);   var_dump($arr2);   $arr3=bubbleSort($arr);   var_dump($arr3);   $arr4=selectSort($arr);   var_dump($arr4);   //简单插入排序    function InsertSort($arr){     $len=count($arr);     for($i=1; $i<$len; $i++) {        $tmp = $arr[$i];        //内层循环控制,比较并插入        for($j=$i-1;$j>=0;$j--) {   <span>@本文来*源gaodai#ma#com搞*!代#%^码$网*</span><textarea>搞gaodaima代码</textarea>         if($tmp < $arr[$j]) {                //发现插入的元素要小,交换位置,将后边的元素与前面的元素互换                $arr[$j+1] = $arr[$j];                $arr[$j] = $tmp;            } else {                //如果碰到不需要移动的元素,由于是已经排序好是数组,则前面的就不需要再次比较了。                break;            }        }    }           return $arr;         }   //选择排序  function selectSort($arr) {//双重循环完成,外层控制轮数,内层控制比较次数 $len=count($arr);    for($i=0; $i<$len-1; $i++) {        //先假设最小的值的位置        $p = $i;                for($j=$i+1; $j<$len; $j++) {            //$arr[$p] 是当前已知的最小值            if($arr[$p] > $arr[$j]) {            //比较,发现更小的,记录下最小值的位置;并且在下次比较时采用已知的最小值进行比较。                $p = $j;            }        }        //已经确定了当前的最小值的位置,保存到$p中。如果发现最小值的位置与当前假设的位置$i不同,则位置互换即可。        if($p != $i) {            $tmp = $arr[$p];            $arr[$p] = $arr[$i];            $arr[$i] = $tmp;        }    }    //返回最终结果    return $arr;}  // 快速排序  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);}//冒泡排序function bubbleSort($arr){    $len=count($arr);  //该层循环控制 需要冒泡的轮数  for($i=1;$i<$len;$i++)  { //该层循环用来控制每轮 冒出一个数 需要比较的次数    for($k=0;$k<$len-$i;$k++)    {       if($arr[$k]>$arr[$k+1])        {            $tmp=$arr[$k+1];            $arr[$k+1]=$arr[$k];            $arr[$k]=$tmp;        }    }  }  return $arr;}?>

相关推荐:

PHP排序之二维数组的按照字母排序实现代码

PHP排序实现

PHP 简单数组排序实现代码_PHP教程

以上就是php常用的排序实现方法实例的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php常用的排序实现方法实例
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址