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);
相关推荐
p***q783 分钟前
SpringBoot实战:高效实现API限流策略
java·spring boot·后端
学历真的很重要8 分钟前
Hello-Agents —— 03大语言模型基础 通俗总结
开发语言·人工智能·后端·语言模型·自然语言处理·面试·langchain
6***v41715 分钟前
VScode 开发 Springboot 程序
java·spring boot·后端
STY_fish_201217 分钟前
P11855 [CSP-J2022 山东] 部署
算法·图论·差分
myw07120518 分钟前
湘大头歌程-Ride to Office练习笔记
c语言·数据结构·笔记·算法
t***316518 分钟前
SpringBoot中自定义Starter
java·spring boot·后端
H_BB19 分钟前
算法详解:滑动窗口机制
数据结构·c++·算法·滑动窗口
Zero-Talent21 分钟前
“栈” 算法
算法
橘子编程21 分钟前
经典排序算法全解析
java·算法·排序算法
waeng_luo22 分钟前
【鸿蒙开发实战】智能数据洞察服务:待回礼分析与关系维护建议算法
算法·ai编程·鸿蒙