[数据结构学习笔记23] 插入排序(Insertion Sort)
插入排序(Insertion Sort)
举例
5, 3,1,2,9,7
从第二个数字开始,也就是3开始。数列分为两部分,5,和剩下部分。5称为已排序;3-7称为未排序。这个时候3称为活动数字,我们要做的是,把3放到已排序组中。
3,5 1,2,9,7
1,3,5 2,9,7
1,2,3,5 9,7
1,2,3,5,7 9
1,2,3,5,7,9
代码(javascript)
function insertionSort(input) { let activeNumber; for (let i = 1; i < input.length; i++) { activeNumber = input[i]; for (int j = i - 1; j >= 0; j--) { if (input[j] > activeNumber) { input[j+1] = input[j]; } else { break; } } input[j+1] = activeNumber; } }
插入排序效率也不高。时间复杂度是O(n^2)。它的优点是不需要额外的空间。
标签:
数据结构笔记
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验