当前位置: 首页 > article >正文

重温经典算法——插入排序


版权声明

  • 本文原创作者:谷哥的小弟
  • 作者博客地址:http://blog.csdn.net/lfdfhl

在这里插入图片描述

基本原理

插入排序是一种基于元素逐步插入的简单排序算法,其核心思想是将待排序序列分为已排序和未排序两部分,每次从未排序部分取出第一个元素,反向遍历已排序部分,找到合适位置插入。时间复杂度为平均和最差 O(n²),最好 O(n)(已有序时),空间复杂度 O(1),属于原地、稳定排序,适用于小规模数据或部分有序数据的场景。

代码实现

import java.util.Arrays;public class InsertionSort {public static void insertionSort(int[] arr) {int n = arr.length;// 从第二个元素开始遍历(索引1到n-1)for (int i = 1; i < n; i++) { int current = arr[i]; // 当前待插入元素int j = i - 1;        // 已排序部分的末尾索引// 反向遍历已排序部分,找到插入位置while (j >= 0 && arr[j] > current) { arr[j + 1] = arr[j]; // 将大于current的元素后移j--;}arr[j + 1] = current; // 插入当前元素到正确位置}}public static void main(String[] args) {int[] arr = {12, 11, 13, 5, 6};insertionSort(arr);System.out.println("Sorted array: " + Arrays.toString(arr));// 输出:Sorted array: [5, 6, 11, 12, 13]}
}
http://www.lryc.cn/news/2391874.html

相关文章:

  • 在VirtualBox中打造高效开发环境:CentOS虚拟机安装与优化指南
  • 塔能科技:为多行业工厂量身定制精准节能方案
  • 【实证分析】上市公司全要素生产率+5种测算方式(1999-2024年)
  • 弥散制氧机工作机制:高原低氧环境的氧浓度重构技术
  • [Python] 避免 PyPDF2 写入 PDF 出现黑框问题:基于语言自动匹配系统字体的解决方案
  • 《基于Keepalived+LVS+Web+NFS的高可用集群搭建》
  • RabbitMQ搭建集群
  • 时间序列预测算法中的预测概率化笔记
  • 2025-05-28 Python深度学习8——优化器
  • 篇章二 数据结构——前置知识(二)
  • 如果是在服务器的tty2终端怎么查看登陆服务器的IP呢
  • Java求职面试:从核心技术到AI与大数据的全面考核
  • ubuntu24.04与ubuntu22.04比,有什么新特性?
  • Flutter Container组件、Text组件详解
  • Telegram平台分发其聊天机器人Grok
  • STM32 定时器输出比较深度解析:从原理到电机控制应用 (详解)
  • 用 NGINX 还原真实客户端 IP ngx_mail_realip_module
  • Mysql中索引B+树、最左前缀匹配
  • Python训练营打卡 Day38
  • 【机器学习基础】机器学习入门核心算法:K均值(K-Means)
  • Python Day37
  • RabbitMQ集群与负载均衡实战指南
  • 怎么开机自动启动vscode项目
  • Unity 中 Update、FixedUpdate 和 LateUpdate 的区别及使用场景
  • linux安装ffmpeg7.0.2全过程
  • Java中的设计模式实战:单例、工厂、策略模式的最佳实践
  • DexGarmentLab 论文翻译
  • Elasticsearch性能优化全解析
  • 2025.05.28【Parallel】Parallel绘图:拟时序分析专用图
  • tc3975开发板上有ft2232这块的电路,我想知道这个开发板有哪些升级方式,重点关注是怎样通过ft2232实现的烧录升级的