码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 排序算法-插入排序


    属性

            当插入第i(i>=1)个元素时,前面的array[0],array[1],…,array[i-1]已经排好序,此时用array[i]的排序码与array[i1],array[i-2],…的排序码顺序进行比较,找到插入位置即将array[i]插入,原来位置上的元素顺序后移

            直接插入排序的特性总结: 1. 元素集合越接近有序,直接插入排序算法的时间效率越高 2. 时间复杂度:O(N^2) 3. 空间复杂度:O(1),它是一种稳定的排序算法 4. 稳定性:稳定

    代码及其注释

            

    1. public class InsertSort {
    2. // 插入排序
    3. public static void insertSort(int[]arr){
    4. //首先比较第一个元素和第二个元素之间的大小关系,所以i从1开始
    5. for(int i=1;i
    6. //将要进行比较的数放到一个临时变量中,此时就相当于i位置现在是空的
    7. int tmp=arr[i];
    8. //遍历i前面的数据,与temp中的数据进行比较
    9. int j=i-1;
    10. for(;j>=0;j--){
    11. //要是i前面的数据比i的数据大,就说明该数据应该在i数据之前,就将该数据向前移
    12. if(arr[j]>tmp){
    13. arr[j+1]=arr[j];
    14. }
    15. //i前面的数据比i的数据小了,找到了合适的位置,就退出循环并将i的数据放到当前遍历到的j数据之前
    16. else {
    17. break;
    18. }
    19. }
    20. //这里有特殊情况,当i前面的数据都比i大时,j的取值会一直取到-1,退出循环,此时就需要将i的值放到0的位置
    21. arr[j+1]=tmp;
    22. }
    23. }
    24. }

  • 相关阅读:
    BUUCTF reverse wp 91 - 95
    MockingBird,手把手教你克隆您的声音,AI代言人,惊艳你的耳朵!
    【C++】类和对象(下)
    Go语言入门心法(十五):Go微服务实战
    微创机器人:CRM撬动售后服务数字化升级
    Android 老开发被薪资竟然被应届生倒挂了……
    jetson nano刷机更新Jetpack
    Python1-Pillow库简单使用
    链接概念介绍
    什么是阿里云轻量应用服务器?
  • 原文地址:https://blog.csdn.net/q322359/article/details/132870403
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号