zoukankan      html  css  js  c++  java
  • Python 插入排序法

    #插入排序法:

    原理:是通过构建有序序列,对于未排序数据,在已排序序列中 从后向前 扫描,找到相应位置并插入。

    #插入排序法一:有小到大排序

    def insertSort(arr):
      n=len(arr) #获取数列的元素个数
      for i in range(1,n):
        key=arr[i] #从数列的第二个元素开始,依次取出,与它的前面的元素值作比较

        j=i-1 #获取key前面的值的索引下标
        while j>=0 and key < arr[j]:#判断key与它前面的元素相比较,如果前面的值大于key
          arr[j+1]=arr[j] #则把前面的值后移到key值的位置
          j-=1 #获取再前面的值的索引下标,实现key值与其前面的值的循环比较
        arr[j+1]=key

    #测试
    arr=[12,11,13,5,6]
    insertSort(arr)

    for i in range(len(arr)):
    print("%d" %arr[i])

    #插入排序法二:有大到小排序

    def insertSort(arr):
      n=len(arr) #获取数列的元素个数
      for i in range(1,n):
        key=arr[i] #从数列的第二个元素开始,依次取出,与它的前面的元素值作比较

        j=i-1 #获取key前面的值的索引下标
        while j>=0 and key > arr[j]:#判断key与它前面的元素相比较,如果前面的值大于key
          arr[j+1]=arr[j] #则把前面的值后移到key值的位置
          j-=1 #获取再前面的值的索引下标,实现key值与其前面的值的循环比较
        arr[j+1]=key

    #测试
    arr=[12,11,13,5,6]
    insertSort(arr)

    for i in range(len(arr)):
    print("%d" %arr[i])

  • 相关阅读:
    CVS 快速入门指南
    我的博客皮肤
    OOP三个基本特征
    vi 操作
    智者能堪破这世界的定数,但没人能逃脱劫数
    技术路径的四阶段
    python每日学习2018/1/14(python之禅)
    python每日学习2018/1/11
    Python PyInstaller安装和使用教程(详解版)
    Windows环境下安装MinGW/gcc
  • 原文地址:https://www.cnblogs.com/xiangers/p/15429271.html
Copyright © 2011-2022 走看看