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

PHP排序算法(安插,选择,交换,冒泡,快速)

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

PHP排序算法(插入,选择,交换,冒泡,快速)

<?php//冒泡排序function BubbleSort($arr) {    // 获得数组总长度    $num = count($arr);    // 正向遍历数组    for ($i = 1; $i = $i ; $j--) {            // 相邻两个数比较            if ($arr[$j] < $arr[$j-1]) {                // 暂存较小的数                $iTemp = $arr[$j-1];                // 把较大的放前面                $arr[$j-1] = $arr[$j];                // 较小的放后面                $arr[$j] = $iTemp;            }        }    }    return $arr;}// 交换法排序function ExchangeSort($arr){    $num = count($arr);    // 遍历数组    for ($i = 0;$i < $num - 1; $i++) {        // 获得当前索引的下一个索引        for ($j = $i + 1; $j < $num; $j++) {            // 比较相邻两个的值大小            if ($arr[$j] < $arr[$i]) {                // 暂存较小的数                $iTemp = $arr[$i];                // 把较大的放前面                $arr[$i] = $arr[$j];                // 较小的放后面                $arr[$j] = $iTemp;            }        }    }    return $arr;}// 选择法排序function SelectSort($arr) {    // 获得数组总长度    $num = count($arr);    // 遍历数组    for ($i = 0;$i < $num-1; $i++) {        // 暂存当前值        $iTemp = $arr[$i];        // 暂存当前位置        $iPos = $i;        // 遍历当前位置以后的数据        for ($j = $i + 1;$j < $num; $j++){            // 如果有小于当前值的            if ($arr[$j] < $iTemp) {                // 暂存最小值                $iTemp = $arr[$j];                // 暂存位置                $iPos = $j;            }        }        // 把当前值放到算好的位置        $arr[$iPos] = $arr[$i];        // 把当前值换成算好的值        $arr[$i] = $iTemp;    }    return $arr;}// 插入法排序function InsertSort($arr){    $num = count($arr);    // 遍历数组    for ($i = 1;$i = 0) && ($iTemp < $arr[$iPos])) {            // 把前一个的值往后放一位            $arr[$iPos + 1] = $arr[$iPos];            // 位置递减            $iPos--;        }  

4本文¥来源gao!%daima.com搞$代*!码$网9

搞代gaodaima码

$arr[$iPos+1] = $iTemp; } return $arr;}// 快速排序function QuickSort($arr){ $num = count($arr); $l = $r = 0; $left = $right = array(); // 从索引的第二个开始遍历数组 for ($i = 1;$i < $num; $i++) { // 如果值小于索引1 if ($arr[$i] 1) { $left = QuickSort($left); } // 排序后的数组 $new_arr = $left; // 将当前数组第一个放到最后 $new_arr[] = $arr[0]; // 如果又索引有值 则对右索引排序 if ($r > 1) { $right = QuickSort($right); } // 根据右索引的长度再次增加数据 for($i = 0;$i


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

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

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

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