php冒泡算法实现倒序和正序排列

冒泡排序是一种简单的排序算法,其主要思想是比较相邻的两个元素,根据需要交换位置,将较大(或较小)的元素逐渐冒泡到数组的一端,从而实现排序。

1、从小到大排序

php 复制代码
function bubbleSort($arr) {
    $len = count($arr);
    for ($i = 0; $i < $len - 1; $i++) {
        for ($j = 0; $j < $len - 1 - $i; $j++) {
            if ($arr[$j] > $arr[$j+1]) {
                // 交换位置
                $temp = $arr[$j];
                $arr[$j] = $arr[$j+1];
                $arr[$j+1] = $temp;
            }
        }
    }
    return $arr;
}
// 测试示例
$testArray = [5, 3, 8, 4, 2];
$result = bubbleSort($testArray);
print_r($result);

2、倒序排列

php 复制代码
function reverseBubbleSort($arr) {
    $len = count($arr);
    for ($i = 0; $i < $len - 1; $i++) {
        for ($j = 0; $j < $len - 1 - $i; $j++) {
            if ($arr[$j] < $arr[$j+1]) {  // 将比较条件改为小于号
                // 交换位置
                $temp = $arr[$j];
                $arr[$j] = $arr[$j+1];
                $arr[$j+1] = $temp;
            }
        }
    }
    return $arr;
}
// 测试示例
$testArray = [5, 3, 8, 4, 2];
$result = reverseBubbleSort($testArray);
print_r($result);
相关推荐
2301_801067091 分钟前
如何通过修改hosts文件、启动Apache服务器、修改httpd.conf文件、配置虚拟主机、创建站点目录和文件等步骤来配置虚拟主机并发布PHP站点
服务器·php·apache
Seven977 分钟前
【设计模式】从火车站卖票看代理模式的实际应用
java·后端·设计模式
我的运维人生8 分钟前
从零开始:使用 Python 实现机器学习的基础与实践
开发语言·python·机器学习
2301_7891695420 分钟前
JSON.parse(JSON.stringify())深拷贝不会复制函数
开发语言·前端·javascript
恋恋风辰21 分钟前
QT系列教程(17) MVC结构之Model模型介绍
开发语言·qt·mvc
lisanndesu26 分钟前
贪心算法--
算法·贪心算法
巷95527 分钟前
机器学习篇——决策树基础
算法·决策树·机器学习
猎人everest30 分钟前
机器学习之正则化
人工智能·算法·机器学习
YaoSolar32 分钟前
刷题记录(LeetCode 78 子集)
算法·leetcode