当前位置:首页 > PHP

php实现选择排序

2026-04-03 09:10:46PHP

选择排序算法原理

选择排序是一种简单直观的排序算法。基本思想是每次从未排序部分选择最小(或最大)元素,放到已排序部分的末尾,直到所有元素排序完成。时间复杂度为O(n²),适用于小规模数据排序。

PHP实现代码

function selectionSort(array $arr): array {
    $len = count($arr);
    for ($i = 0; $i < $len - 1; $i++) {
        $minIndex = $i;
        for ($j = $i + 1; $j < $len; $j++) {
            if ($arr[$j] < $arr[$minIndex]) {
                $minIndex = $j;
            }
        }
        if ($minIndex != $i) {
            // 交换元素
            $temp = $arr[$i];
            $arr[$i] = $arr[$minIndex];
            $arr[$minIndex] = $temp;
        }
    }
    return $arr;
}

// 使用示例
$unsortedArray = [64, 25, 12, 22, 11];
$sortedArray = selectionSort($unsortedArray);
print_r($sortedArray);

代码解析

外层循环控制排序轮数,内层循环查找未排序部分的最小值索引。找到最小值后与当前外层循环位置的元素交换。通过双重循环逐步将最小元素移动到数组前端。

算法优化方向

可以同时记录最小值和最大值,每次排序将最小值和最大值分别放到数组两端,减少排序轮数。但这种优化仍保持O(n²)时间复杂度。

php实现选择排序

注意事项

选择排序是不稳定排序算法(相同元素可能改变相对位置)。对于大规模数据排序效率较低,建议使用更高效的算法如快速排序或归并排序。

标签: php
分享给朋友:

相关文章

php实现树

php实现树

PHP实现树结构的方法 在PHP中实现树结构通常可以通过递归或迭代的方式完成。以下是几种常见的实现方法: 递归实现树结构 递归是处理树结构的自然方式,尤其适用于具有未知深度的树。 class Tr…

php实现注册

php实现注册

注册功能实现步骤 数据库准备 创建用户表,包含字段如id、username、password、email等。示例SQL: CREATE TABLE users ( id INT AUTO_I…

php实现聊天

php实现聊天

实现 PHP 聊天功能的方法 使用 WebSocket 和 PHP 实现实时聊天 WebSocket 是一种全双工通信协议,适合实现实时聊天功能。PHP 可以通过 Ratchet 库实现 WebSo…

php搜索功能实现的

php搜索功能实现的

PHP 搜索功能实现方法 数据库搜索实现 使用 SQL 的 LIKE 语句进行模糊匹配,适用于小型网站和简单搜索需求。 $searchTerm = $_GET['search']; $query =…

php实现域名

php实现域名

PHP实现域名操作的方法 获取当前域名 使用$_SERVER['HTTP_HOST']可以获取当前访问的域名: $currentDomain = $_SERVER['HTTP_HOST']; ech…

php实现抽奖程序

php实现抽奖程序

PHP实现抽奖程序 基本抽奖逻辑 创建一个简单的抽奖程序需要定义奖品、中奖概率及随机选择逻辑。以下是一个基础实现示例: <?php // 奖品配置(奖品名称 => 概率) $prizes…