美文网首页
【基础】练习册40-Python3_插入选择和希尔选择

【基础】练习册40-Python3_插入选择和希尔选择

作者: Alyna_C | 来源:发表于2021-02-05 05:25 被阅读0次

插入选择和希尔选择

代码如下:

'''#插入选择

def insertionSort(alist):

    for i in range(1,len(alist)):

        temp = alist[i]

        position = i

        while position>0 and alist[i-1]>temp:

            alist[position] = alist[position-1]

            position -=1

            alist[position] = temp

'''

#希尔选择

def shellSort(alist):

    gap = 1 #选取划分间隔为2

    num = len(alist)//gap

    for i in range(num):

        for j in range(i+gap,len(alist),gap):

            current = alist[j]

            position = j

            while position>=gap and alist[position-gap]>current:

                alist[position] = alist[position-gap]

                position = position-gap

                alist[position] = current

    print(alist)

alist = [54,26,93,17,77,31,44,55,20]

shellSort(alist)

运行结果为:

[17, 20, 26, 31, 44, 54, 55, 77, 93]

相关文章

  • 【基础】练习册40-Python3_插入选择和希尔选择

    插入选择和希尔选择 代码如下: '''#插入选择def insertionSort(alist): for i ...

  • 排序常用算法

    冒泡 选择 插入 希尔 快速

  • JavaScript实现排序算法

    实现了冒泡,选择,插入,快排,希尔,归并 冒泡排序 选择排序 插入排序 快速排序 希尔排序 归并排序

  • 记录几个常见的排序算法

    常见的排序有:快速排序、冒泡排序、希尔排序、选择排序、插入排序、归并排序 冒泡排序: 插入排序: 选择排序: 希尔...

  • 常见的排序算法(1)

    要点 冒泡排序 选择排序 插入排序 希尔排序 1. 冒泡排序 2.选择排序 3. 插入排序 4.希尔排序

  • 021-数据结构与算法-排序

    基础方法或者数据结构的定义: 冒泡排序 选择排序 插入排序 希尔排序 希尔排序思想: 希尔排序是把记录按下标的一定...

  • 选择、冒泡、插入、希尔

    冒泡排序 原理:比较两个相邻的元素,将值大的元素交换至右端思路:依次比较相邻的两个数,将小数放在前面,大数放在后面...

  • IOS 常用算法

    一:排序算法 排序方式有插入排序,选择排序和交换排序三种。插入排序有直接插入排序和希尔排序。选择排序有简单选择排序...

  • 算法学习(三):简单基础排序 :选择,插入 ,希尔

    此节学习简单基础排序 :选择,插入 ,希尔 如果你需要解决一个排序问题而又没有系统排序函数可用,可以先用希尔排序,...

  • 排序法

    排序分 内部排序和外部排序 内部排序: 插入排序:{直接插入排序,希尔排序} 选择排序:{简单选择排序,堆排序} ...

网友评论

      本文标题:【基础】练习册40-Python3_插入选择和希尔选择

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