美文网首页
算法入门(2)插入排序

算法入门(2)插入排序

作者: 梦san国 | 来源:发表于2019-12-18 17:22 被阅读0次

插入排序:就是把一个无序数组按照从小到大或者从大到小排序为有序数组。
1.首先将无序数组中的第一个元素设为有序数组的第一个元素。
2.从无序数组中的第二个数开始与有序数组中的元素作比较如果大于新数组中的第k个元素则数组从第k个元素往后的元素都需要向右移动一位。腾出第k个元素的位置放入新元素。
3.重复第二步取第三,四,五 。。。。 一直到无序数组为空。
4.该方法无序数组从大到小排列为有序数组。


def insert_sort1(n_list):
    temp = 0
    # 第一层循环 是 列表中的无序部分 从1到n
    for i in range(1,len(n_list)):
        # 第二层循环 是列表中的有序部分 0 -i
        for j in range(i):
            # 如果说 列表中的第i个无序元素大于第j有序元素
            if n_list[i]<n_list[j]:
                temp = n_list[i]
            # 将 从 j - i-1 部分的元素统统后移一位
                for k in range(i,j,-1):
                    n_list[k] = n_list[k-1]
                n_list[j] = temp
                break
    print(n_list)
    return  n_list

def insert_sort2(n_list):
    for i in range(1,len(n_list)):
        for j in range(i):
            if n_list[i] >n_list[j]:
                temp = n_list[i]
                for k in range(i,j,-1):
                    n_list[k] = n_list[k-1]
                n_list[j] = temp
                break
    return  n_list





if __name__ == "__main__":

    n_list= [1,2,3,4,5,7,0,-1,5,-10]
    insert_sort1(n_list)
    insert_sort2(n_list)

相关文章

  • 算法入门——插入排序、快速排序

    上篇文章学习了算法入门——冒泡排序、选择排序,这篇文章我们学习算法入门——插入排序。 插入排序 插入排序是在一组列...

  • 算法入门(2)插入排序

    插入排序:就是把一个无序数组按照从小到大或者从大到小排序为有序数组。1.首先将无序数组中的第一个元素设为有序数组的...

  • Chapter 2 Foundation of Algorith

    Chapter 2 插入排序 线性查找 选择算法 归并排序算法 二分查找算法 冒泡排序 插入排序 循环不...

  • 算法入门——堆排序

    上篇文章我们学习了算法入门——插入排序、快速排序,这篇文章我们学习算法入门——堆排序。 堆 堆是一种特殊的完全二叉...

  • 算法-插入排序

    算 法:插入排序算法时间复杂度: 插入排序算法描述 插入排序伪代码 插入排序实现 插入排序算法概述 插入排...

  • 算法与数据结构系列 ( 四 ) - 插入排序法- Insert

    前言 本章我们继续理解另外一个排序算法 插入排序插入排序 也算是我们 O(n^2) 的经典排序算法之一插入排序 其...

  • 算法导论——第一部分 基础知识(二)

    第2章 算法基础 本章介绍一个贯穿本书的算法设计与分析的框架 2.1插入排序 算法思路 插入排序的工作方式像揭牌时...

  • 入门算法:插入排序

    上手难度:★☆ 算法复杂度:O(n^2),但在数组近乎有序的情况下,插入排序的性能相对比较高,甚至比O(nlogn...

  • 算法学习第一天

    第二章:算法入门 1、插入排序:分析输入输出 伪代码(一些约定写法) 可以用自己熟悉的语言去完成 2、循环不变式:...

  • 排序复习

    掘金 冒泡排序 算法负责度为O(n^2) 插入排序

网友评论

      本文标题:算法入门(2)插入排序

      本文链接:https://www.haomeiwen.com/subject/hqbunctx.html