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);
相关推荐
软件管理系统2 分钟前
基于Spring Boot的医疗服务系统的设计与实现
java·spring boot·后端
周小码3 分钟前
Spacedrive:用Rust构建的虚拟分布式文件系统
开发语言·后端·rust
聪明努力的积极向上8 分钟前
【设计】分批查询数据通用方法(基于接口 + 泛型 + 定点复制)
开发语言·设计模式·c#
灰色人生qwer13 分钟前
VS Code 配置Java环境
java·开发语言
yyy(十一月限定版)13 分钟前
C语言——排序算法
c语言·开发语言·排序算法
tgethe13 分钟前
Java 链表(LinkedList)
java·开发语言·链表
文心快码BaiduComate17 分钟前
用Spec给AI Agent立规矩,AI编码告别手忙脚乱
前端·后端·前端框架
小鸡吃米…23 分钟前
Python - 多重继承
开发语言·python
程序员在囧途25 分钟前
Sora2 25 秒视频 API 国内直连!10 积分/次,稳定秒退任务,支持 avatar & Remix(附 PHP 接入教程)
后端·开源·php
hssfscv27 分钟前
Javeweb学习笔记——Vue+Ajax
vue.js·笔记·学习·ajax