插入排序_Python与PHP的实现版(推荐)

发布时间 - 2026-01-11 01:04:16    点击率:

插入排序Python实现

import random

a=[random.randint(1,999) for x in range(0,36)]

# 直接插入排序算法
def insertionSort(a):
  for i in range(1,len(a)):
    # 若下标为i的元素小于下标为i-1的元素,则将下标为i的元素放到合适位置
    if a[i] < a[i-1]:
      tmp = a[i]
      j = i-1
      # 寻找a[i]的合适位置,并将a[i-1]至a[i]新位置的元素依次后移
      while j >= 0 and tmp < a[j]:
        a[j+1] = a[j]
        j = j-1

      # 将a[i]放到新位置
      a[j+1] = tmp

insertionSort(a)
print(a)

插入排序PHP实现

<?php
// 生成待排序数组
$a = [];
for($i=0;$i<36;$i++){
  array_push($a,mt_rand(1,999));
}
shuffle($a);

/**
 * 插入排序 insertion sort
 * @param [type] $a 待排序数组的引用
 * @return null
 */
function insertionSort(&$a){
  for($i = 1;$i<count($a);$i++){
    // 若下标为i的元素小于下标为i-1的元素,则将下标为i的元素放到合适位置
    if($a[$i] < $a[$i-1]){
      $tmp = $a[$i];
      // 寻找a[i]的合适位置,并将a[i-1]至a[i]新位置的元素依次后移
      for($j = $i-1; $j>=0 && $tmp<$a[$j];$j--)
        $a[$j+1] = $a[$j];
      // 将a[i]放到新位置
      $a[$j+1] = $tmp;
    }
  }

}

insertionSort($a);
var_dump($a);

插入排序时间复杂度分析

插入排序算法的时间复杂度为O(n2),但是插入排序法比冒泡和选择排序的性能更好。

以上这篇插入排序_Python与PHP的实现版(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# Python实现插入排序  # python中的插入排序的简单用法  # Python实现的插入排序  # 冒泡排序  # 快速排序  # 选择排序算法示例  # Python排序搜索基本算法之插入排序实例分析  # Python实现的插入排序算法原理与用法实例分析  # Python中使用插入排序算法的简单分析与代码示例  # python插入排序算法的实现代码  # python 实现插入排序算法  # Python排序算法之插入排序及其优化方案详解  # 给大家  # 并将  # 到新  # 则将  # 后移  # 希望能  # 这篇  # 小编  # 大家多多  # range  # randint  # len  # lt  # def  # insertionSort  # random  # color  # ccffcc  # strong  # span 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Android Socket接口实现即时通讯实例代码  EditPlus 正则表达式 实战(3)  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  Mybatis 中的insertOrUpdate操作  如何确保西部建站助手FTP传输的安全性?  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  jQuery validate插件功能与用法详解  如何在云主机上快速搭建网站?  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  微信小程序 五星评分(包括半颗星评分)实例代码  网站制作报价单模板图片,小松挖机官方网站报价?  浅谈redis在项目中的应用  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体  图册素材网站设计制作软件,图册的导出方式有几种?  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  如何在阿里云完成域名注册与建站?  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  高端建站如何打造兼具美学与转化的品牌官网?  在线制作视频的网站有哪些,电脑如何制作视频短片?  实例解析Array和String方法  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  微信小程序 input输入框控件详解及实例(多种示例)  三星、SK海力士获美批准:可向中国出口芯片制造设备  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  如何正确选择百度移动适配建站域名?  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  详解vue.js组件化开发实践  Laravel如何使用Vite进行前端资源打包?(配置示例)  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  如何获取PHP WAP自助建站系统源码?  *服务器网站为何频现安全漏洞?  公司门户网站制作流程,华为官网怎么做?  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】  Windows Hello人脸识别突然无法使用  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  Python制作简易注册登录系统  JavaScript模板引擎Template.js使用详解  html5audio标签播放结束怎么触发事件_onended回调方法【教程】