当前位置:首页 > PHP

php实现选择排序

2026-02-28 00:21:39PHP

PHP实现选择排序

选择排序是一种简单直观的排序算法,其基本思想是每次从未排序的部分选择最小(或最大)的元素,放到已排序部分的末尾。以下是PHP实现选择排序的代码示例:

function selectionSort($array) {
    $length = count($array);

    for ($i = 0; $i < $length - 1; $i++) {
        $minIndex = $i;

        for ($j = $i + 1; $j < $length; $j++) {
            if ($array[$j] < $array[$minIndex]) {
                $minIndex = $j;
            }
        }

        if ($minIndex != $i) {
            $temp = $array[$i];
            $array[$i] = $array[$minIndex];
            $array[$minIndex] = $temp;
        }
    }

    return $array;
}

代码说明

外层循环从数组的第一个元素开始,遍历到倒数第二个元素。内层循环从当前元素的下一个元素开始,遍历到数组末尾,寻找最小元素的索引。

找到最小元素后,如果最小元素的索引不等于当前元素的索引,则交换两个元素的位置。这样每次外层循环结束后,当前元素位置就会放置剩余未排序部分的最小值。

使用示例

$unsortedArray = [64, 25, 12, 22, 11];
$sortedArray = selectionSort($unsortedArray);
print_r($sortedArray);

输出结果:

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

算法复杂度

选择排序的时间复杂度为O(n²),其中n是数组的长度。这是因为对于每个元素,都需要遍历剩余的未排序部分来找到最小元素。空间复杂度为O(1),因为排序是在原数组上进行的,只需要常数级的额外空间用于交换元素。

php实现选择排序

标签: php
分享给朋友:

相关文章

php实现搜索功能

php实现搜索功能

实现基本的搜索功能 在PHP中实现搜索功能通常涉及数据库查询。以下是一个简单的实现方式,假设使用MySQL数据库: <?php // 连接数据库 $conn = new mysqli('lo…

php 实现自动收货

php 实现自动收货

PHP 实现自动收货功能 自动收货功能通常用于电商系统,在订单超过一定时间未手动确认收货时自动完成订单。以下是实现方法: 数据库设计 需要订单表包含以下关键字段: CREATE TABLE o…

php实现队列

php实现队列

PHP实现队列的方法 队列是一种先进先出(FIFO)的数据结构,PHP可以通过多种方式实现队列功能。 使用数组模拟队列 PHP数组可以模拟队列的基本操作,通过array_push和array_sh…

php购物车实现

php购物车实现

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

php 实现秒杀

php 实现秒杀

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

php实现博客

php实现博客

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