当前位置:首页 > PHP

php 实现冒泡

2026-01-29 19:45:50PHP

冒泡排序的基本原理

冒泡排序是一种简单的排序算法,通过重复地遍历要排序的列表,比较相邻的元素并交换它们的位置来实现排序。每一轮遍历会将当前未排序部分的最大(或最小)元素“冒泡”到正确的位置。

PHP 实现冒泡排序

以下是使用 PHP 实现冒泡排序的代码示例:

function bubbleSort($array) {
    $length = count($array);
    for ($i = 0; $i < $length - 1; $i++) {
        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;
            }
        }
    }
    return $array;
}

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

代码解析

  • 外层循环 $i 控制排序的轮数,共需 $length - 1 轮。
  • 内层循环 $j 比较相邻元素,如果前一个元素大于后一个元素,则交换它们的位置。
  • 每轮内层循环结束后,最大的元素会被移动到数组的末尾。
  • 最终返回排序后的数组。

优化冒泡排序

可以通过添加标志位来优化冒泡排序,减少不必要的比较:

php 实现冒泡

function optimizedBubbleSort($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;
}
  • 添加 $swapped 标志位,如果在某一轮内层循环中没有发生交换,说明数组已经有序,可以提前退出循环。

时间复杂度分析

  • 最坏情况时间复杂度为 O(n²),发生在数组完全逆序时。
  • 最好情况时间复杂度为 O(n),发生在数组已经有序时(优化版本)。
  • 平均时间复杂度为 O(n²)。

标签: php
分享给朋友:

相关文章

php实现登录

php实现登录

PHP 登录功能实现 数据库连接与用户表创建 创建一个数据库连接文件 db.php,用于管理数据库连接。MySQL 示例代码如下: <?php $host = 'localhost'; $db…

php实现博客

php实现博客

使用PHP实现博客系统 数据库设计 创建数据库表存储博客文章和用户信息。常见的表包括posts(文章)和users(用户)。 CREATE TABLE users ( id INT AUTO…

php 伪静态实现

php 伪静态实现

PHP 伪静态实现方法 伪静态(URL Rewrite)是一种通过服务器配置将动态URL转换为静态URL的技术,提升URL的可读性和SEO效果。以下是几种常见的实现方式: 使用Apache的mod_…

php实现重定向

php实现重定向

使用header函数进行重定向 在PHP中,header()函数是实现重定向的常用方法。通过发送HTTP头信息Location,浏览器会自动跳转到指定URL。需确保在调用header()前没有输出任何…

php 实现https

php 实现https

在 PHP 中实现 HTTPS 确保 PHP 应用通过 HTTPS 协议安全传输数据,可以通过以下几种方式实现: 配置服务器强制 HTTPS 在 Web 服务器(如 Apache 或 Nginx)中…

php实现扫码登录

php实现扫码登录

PHP 实现扫码登录的方案 扫码登录通常基于以下流程:用户访问网页生成二维码(含唯一标识),手机扫码后确认登录,服务器验证并完成登录状态同步。以下是具体实现方法: 生成二维码与唯一标识 使用 PHP…