当前位置:首页 > PHP

php实现冒泡排序

2026-02-13 20:25:35PHP

php实现冒泡排序

php实现冒泡排序

冒泡排序原理

冒泡排序是一种简单的排序算法,通过重复遍历待排序的数组,比较相邻元素并交换位置,将较大的元素逐渐“冒泡”到数组末尾。每次遍历会确定一个最大元素的最终位置。

PHP实现代码

function bubbleSort($array) {
    $length = count($array);
    for ($i = 0; $i < $length - 1; $i++) {
        $swapped = false;
        for ($j = 0; $j < $length - $i - 1; $j++) {
            if ($array[$j] > $array[$j + 1]) {
                // 交换相邻元素
                $temp = $array[$j];
                $array[$j] = $array[$j + 1];
                $array[$j + 1] = $temp;
                $swapped = true;
            }
        }
        // 若未发生交换,提前结束排序
        if (!$swapped) break;
    }
    return $array;
}

// 示例调用
$unsortedArray = [64, 34, 25, 12, 22, 11, 90];
$sortedArray = bubbleSort($unsortedArray);
print_r($sortedArray);

代码说明

  • 外层循环:控制排序轮数,每次循环确定一个最大值的最终位置。
  • 内层循环:比较相邻元素,若前一个元素大于后一个元素,则交换位置。
  • 优化标志:通过$swapped变量检测内层循环是否发生交换,若未交换则说明数组已有序,提前终止排序。

时间复杂度

  • 最坏情况:$O(n^2)$(数组完全逆序)。
  • 最好情况:$O(n)$(数组已有序,通过优化提前退出)。

应用场景

适用于小规模数据排序或教学演示,实际项目中更推荐使用PHP内置的sort()函数或高效算法(如快速排序)。

标签: php
分享给朋友:

相关文章

php实现表单

php实现表单

PHP 表单基础实现 创建一个简单的 PHP 表单需要 HTML 表单结构和 PHP 处理脚本。以下是一个完整的示例: HTML 表单部分 (form.html) <form action=…

php 实现秒杀

php 实现秒杀

PHP 实现秒杀的关键技术 秒杀系统需要解决高并发、超卖、性能瓶颈等问题。以下是实现秒杀的核心方案: 使用 Redis 预减库存 将商品库存提前加载到 Redis 中,通过原子操作保证库存准确性:…

php 实现mvc

php 实现mvc

PHP 实现 MVC 架构的方法 MVC(Model-View-Controller)是一种常见的软件设计模式,用于分离业务逻辑、用户界面和用户输入。以下是 PHP 实现 MVC 架构的关键步骤:…

php数据库实现

php数据库实现

PHP 连接 MySQL 数据库 使用 mysqli 扩展连接 MySQL 数据库: <?php $servername = "localhost"; $username = "usernam…

php 插件实现

php 插件实现

PHP 插件实现方法 PHP 插件可以通过多种方式实现,具体取决于插件的用途和功能需求。以下是一些常见的实现方法: 使用钩子(Hooks)和过滤器(Filters) 钩子和过滤器是一种常见的插件架…

php实现下载功能

php实现下载功能

PHP实现文件下载功能 使用PHP实现文件下载功能可以通过设置HTTP头信息控制浏览器行为,以下是几种常见实现方式: 基础下载方法 $file_path = '/path/to/file.pdf';…