php 插入排序算法实现

插入排序是一种简单直观的排序算法,它的基本思想是将一个数据序列分为有序区和无序区,每次从无序区选择一个元素插入到有序区的合适位置,直到整个序列有序为止

5, 3, 8, 2, 0, 1

HP中可以使用以下代码实现插入排序算法:

php 复制代码
function insertionSort($arr) {
    $length = count($arr);
    for ($i = 1; $i < $length; $i++) {
        $temp = $arr[$i];
        $j = $i - 1;
        
        // 从有序区往前寻找插入位置
        while ($j >= 0 && $arr[$j] > $temp) {
            $arr[$j + 1] = $arr[$j]; // 元素后移
            $j--;
        }
        $arr[$j + 1] = $temp; // 插入元素到正确位置
    }
    
    return $arr;
}
// 测试
$arr = [5, 3, 8, 2, 0, 1];
$result = insertionSort($arr);
print_r($result);

运行以上代码会得到排序后的数组:0, 1, 2, 3, 5, 8。该算法的时间复杂度为O(n^2),其中n为数组长度。

相关推荐
疯狂打码的少年2 分钟前
【操作系统】板块总结 + 下期预告(软件工程)
笔记·软件工程
foundbug9998 分钟前
Polar Code 编解码 MATLAB 实现
开发语言·算法·matlab
李小小钦15 分钟前
D. Storming Arasaka(Codeforces 2238)
c语言·开发语言·数据结构·c++·算法
W是笔名16 分钟前
python___容器类型的数据___列表
开发语言·windows·python
跨境数据猎手17 分钟前
多平台电商比价系统从零搭建合规
开发语言·爬虫·架构
技术不好的崎鸣同学28 分钟前
[ACTF2020 新生赛]Include 思路及解法
算法·安全·web安全
先吃饱再说34 分钟前
一篇吃透树的遍历:递归与迭代的完整拆解
数据结构·算法
hai31524754343 分钟前
九章编译法:DEEPSEEK V3.2汇编编译实例
java·开发语言
lkshop44 分钟前
Next.js 网站 SEO 优化:从 SSR、Sitemap 到结构化数据
开发语言·javascript·ecmascript
YUS云生1 小时前
Python学习笔记·第29天:Git进阶——分支操作与合并冲突
笔记·python·学习