当前位置:首页 > PHP

php foreach实现冒泡

2026-02-15 17:42:45PHP

使用 PHP foreach 实现冒泡排序

冒泡排序是一种简单的排序算法,通过重复遍历数组,比较相邻元素并交换顺序错误的元素,直到整个数组有序。以下是使用 foreach 实现冒泡排序的方法:

基本实现

function bubbleSort($array) {
    $length = count($array);
    for ($i = 0; $i < $length; $i++) {
        foreach ($array as $key => $value) {
            if ($key < $length - 1 && $array[$key] > $array[$key + 1]) {
                // 交换相邻元素
                $temp = $array[$key];
                $array[$key] = $array[$key + 1];
                $array[$key + 1] = $temp;
            }
        }
    }
    return $array;
}

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

优化实现

通过添加标志位减少不必要的遍历次数,提高效率:

function optimizedBubbleSort($array) {
    $length = count($array);
    for ($i = 0; $i < $length; $i++) {
        $swapped = false;
        foreach ($array as $key => $value) {
            if ($key < $length - 1 && $array[$key] > $array[$key + 1]) {
                $temp = $array[$key];
                $array[$key] = $array[$key + 1];
                $array[$key + 1] = $temp;
                $swapped = true;
            }
        }
        if (!$swapped) {
            break;
        }
    }
    return $array;
}

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

关键点说明

  • 外层循环控制遍历轮数,内层 foreach 比较相邻元素。
  • 每次遍历将当前最大的元素“冒泡”到数组末尾。
  • 优化版本通过 $swapped 标志提前终止排序,减少无效操作。

输出结果

排序后的数组为升序排列:

php foreach实现冒泡

Array
(
    [0] => 11
    [1] => 12
    [2] => 22
    [3] => 25
    [4] => 34
    [5] => 64
    [6] => 90
)

标签: phpforeach
分享给朋友:

相关文章

php实现分页

php实现分页

PHP实现分页的基本方法 使用LIMIT和OFFSET进行数据库查询分页。通过计算当前页码和每页显示数量,动态生成SQL语句。 $page = isset($_GET['page']) ? (int…

php实现表单

php实现表单

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

php购物车实现

php购物车实现

PHP购物车实现方法 使用PHP实现购物车功能可以通过多种方式完成,以下是几种常见的实现方法: Session存储购物车数据 利用PHP的$_SESSION超全局变量存储购物车数据是最简单的方法。用…

php 登录实现

php 登录实现

PHP 登录实现 PHP 登录功能通常包括用户认证、会话管理和安全性措施。以下是实现 PHP 登录功能的关键步骤。 数据库准备 创建一个用户表存储用户信息,通常包括用户名、密码(加密存储)和其他必要…

php实现上传图片

php实现上传图片

上传图片的基本流程 PHP 实现图片上传功能需要处理文件接收、验证、保存等步骤。以下是具体实现方法。 创建 HTML 表单 在 HTML 中创建一个表单,设置 enctype="multipart/…

php实现推送

php实现推送

PHP 实现推送功能的方法 PHP 实现推送功能可以通过多种方式完成,包括 WebSocket、Server-Sent Events (SSE)、长轮询或第三方推送服务。以下是几种常见的方法: 使用…