[数据结构学习笔记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)。它的优点是不需要额外的空间。

posted @   Eagle6970  阅读(1)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验
点击右上角即可分享
微信分享提示