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);
相关推荐
思麟呀8 分钟前
Linux的基础IO流
linux·运维·服务器·开发语言·c++
星释8 分钟前
Rust 练习册 :Pythagorean Triplet与数学算法
开发语言·算法·rust
星释12 分钟前
Rust 练习册 :Nth Prime与素数算法
开发语言·算法·rust
lkbhua莱克瓦241 小时前
Java基础——集合进阶3
java·开发语言·笔记
码事漫谈1 小时前
智能体颠覆教育行业调研报告:英语、编程、语文、数学学科应用分析
后端
蓝-萧1 小时前
使用Docker构建Node.js应用的详细指南
java·后端
多喝开水少熬夜1 小时前
Trie树相关算法题java实现
java·开发语言·算法
QT 小鲜肉1 小时前
【QT/C++】Qt定时器QTimer类的实现方法详解(超详细)
开发语言·数据库·c++·笔记·qt·学习
MeowKnight9581 小时前
【Qt】Qt实践记录3——UDP通信
笔记·qt
REDcker1 小时前
前端打包工具 - Rollup 打包工具笔记
前端·笔记