发布时间:2026/7/23 13:46:59
插入排序 Java 实现 + 思路详解 一、核心思想插入排序把数组分成两部分左侧已排序区间、右侧未排序区间默认第 0 个元素天然有序已排序区间[0]依次取出未排序区间第一个元素记为待插入元素向前遍历有序区间比待插入元素大的元素统一向后挪动一位找到合适空位将待插入元素放入循环直到所有元素完成插入。算法特性面试重点时间复杂度 最坏 / 平均 \(O(n^2)\)最好情况 (数组已有序) \(O(n)\)稳定排序适合小规模数据、接近有序的数据二、完整代码升序java运行public class InsertSort { public static void main(String[] args) { int[] arr {5, 2, 9, 3, 7, 6, 1}; System.out.println(排序前); printArr(arr); insertSort(arr); System.out.println(排序后); printArr(arr); } /** * 插入排序 升序 */ public static void insertSort(int[] arr) { int len arr.length; // i从1开始arr[0]默认有序从第二个元素开始处理 for (int i 1; i len; i) { // 当前要插入的元素 int temp arr[i]; // j指向有序区间末尾 int j i - 1; // 向前遍历有序区间大于temp的元素后移 while (j 0 arr[j] temp) { arr[j 1] arr[j]; j--; } // j1 就是temp插入的位置 arr[j 1] temp; } } // 打印数组 public static void printArr(int[] arr) { for (int num : arr) { System.out.print(num ); } System.out.println(); } }三、简单推演示例数组[5,2,9,3]i1temp2 j0arr[0]52 → arr[1]5j-1 arr[0]2 →[2,5,9,3]i2temp9 arr [1]5 9不用移动直接原位放置i3temp3 j2:93 → arr [3]9j1 j1:53 → arr [2]5j0 j0:23停止arr [1]3 最终[2,3,5,9]四、冒泡 / 选择 / 插入 快速区分冒泡排序相邻比较边比较边交换大数逐步往后浮选择排序一轮找到最值下标一轮最多交换 1 次插入排序逐个拿元素向前找位置、元素后移插入空位

相关新闻

2026/7/23 13:46:59

Tiva Hibernate模块RTC配置:嵌入式低功耗精准定时唤醒实战指南

1. 项目概述与核心价值 在嵌入式系统,尤其是电池供电的物联网设备、便携式医疗仪器或智能仪表中,如何实现“超长待机”是一个永恒的挑战。系统大部分时间处于深度休眠状态,但关键时刻(如定时采集数据、触发报警、记录事件&#xf…

2026/7/23 13:46:59

TI bq27505电量计操作配置与引脚功能代码深度解析

1. 项目概述与核心价值在嵌入式系统,尤其是便携式设备的设计中,电池管理单元(BMU)的精度和可靠性直接决定了产品的用户体验和市场竞争力。用户看到的可能只是屏幕上那个小小的电量百分比,但背后却是一套复杂的系统在实…

2026/7/23 15:27:07

Codex 修改登录权限总出问题?先梳理认证链路再动代码

摘要登录成功却不断跳回登录页、刷新后权限丢失、普通用户看到管理员菜单,都是前端项目中常见的认证问题。这类故障通常同时涉及 Token、用户状态、路由守卫和接口权限。本文介绍如何让 Codex 先梳理完整认证链路,再进行最小范围修改和回归验证。很多开发…

2026/7/23 15:27:07

Claude Code环境配置与依赖冲突导致的信用额度报错排查指南

最近在尝试用 Claude Code 重构一个老项目时,遇到了一个让人头疼的问题:明明本地测试一切正常,但一提交到生产环境就提示“信用额度不足”。起初以为是 API 调用超限,但检查日志发现请求频率完全在合理范围内。这个问题困扰了我整…

2026/7/23 15:27:06

Unity手游热更新实战:ToLua集成、资源加密与版本管理全解析

1. 项目概述:为什么Unity热更新是移动游戏开发的“生命线”?在移动游戏这个竞争白热化的领域,上线只是起点,持续的运营和内容迭代才是决定产品成败的关键。想象一下,你的游戏刚上线,玩家反馈了一个致命的Bu…

2026/7/23 15:27:06

新一代仪器化落锤冲击试验机如何重塑材料抗冲击性能评估标准

引言在航空航天、新能源汽车、高端建材等先进制造领域,材料的抗冲击性能是决定产品可靠性与安全性的关键指标。传统的落锤冲击测试方法,长期受困于能量控制不准、数据采集不全、操作效率低下及安全防护不足等痛点,导致研发与质控数据缺乏公信…

2026/7/23 15:22:06

AI从工具到岗位:小白程序员必看!收藏这波企业级应用案例

本文聚焦企业AI应用,通过AI客服、问诊、实验系统、心理咨询等案例,揭示AI从浅层工具向稳定岗位转变的趋势。核心观点是AI能接住企业中重复性高、易出错的工作,如客服问答、文书整理等,为企业降本增效。文章强调AI落地关键在于找到…

2026/7/23 12:54:51

Unity与Python本地通信:基于Flask的跨语言数据交换实战

1. 项目概述:为什么我们需要一个本地通信服务器?在游戏开发、数字孪生、仿真训练等众多领域,Unity作为强大的实时3D内容创作平台,其核心逻辑通常由C#驱动。然而,当我们需要进行复杂的数据分析、机器学习推理、科学计算…

2026/7/23 0:01:10

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/22 21:00:12

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…