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);
相关推荐
程序猿阿伟5 分钟前
《量子算法开发实战手册:Python全栈能力的落地指南》
python·算法·量子计算
开心就好202515 分钟前
iOS Crash日志全面解析:结构、类型与分析方法
后端
雪风飞舞19 分钟前
python根据音频生成柱状图
开发语言·python·音视频
毕设源码-钟学长21 分钟前
【开题答辩全过程】以 基于Spring Boot的社区养老服务管理系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
nbsaas-boot27 分钟前
slice / map 在 Go GC 与内存碎片上的真实成本
开发语言·后端·golang
老鼠只爱大米31 分钟前
LeetCode算法题详解 438:找到字符串中所有字母异位词
算法·leetcode·双指针·字符串匹配·字母异位词·滑动窗口算法
数据小馒头32 分钟前
拒绝循环写库:MySQL 批量插入、Upsert 与跨表更新的高效写法
后端
子洋34 分钟前
基于远程开发的大型前端项目实践
运维·前端·后端
会飞的小新38 分钟前
Shell 脚本中的信号与 trap:从 Ctrl+C 到优雅退出
linux·开发语言
万事可爱^40 分钟前
LangChain v1.0学习笔记(4)—— 核心组件Models
人工智能·笔记·学习·langchain·大模型