python插入排序的运行过程

美女程序员鼓励师

为了保证插入后数据仍然有序,需要确定插入数据的位置。

1、将待排序的数据分为两个区间。

有序区间和无序区间。初始有序区间只包含一个元素,即数组的第一个元素,其他的是无序区间。

2、依次从无序区间中选择一个元素,在有序区间中找到合适的插入位置插入,确保排序区间的数据始终有序。

3、重复这个过程。

直到无序区间的元素为空,算法结束。

实例

#encoding=utf-8

def insert_sort(data_list):

    '''

    无优化版

    '''

    count=0 #统计循环次数

    length = len(data_list)

    for i in range(1,length ): #默认第一个位置的元素是已排序区间,因此下标从 1 开始

        tmp = data_list[i] #待插入的数据

        j = i

        while j > 0: #从已排序区间查找插入位置

            count +=1

            if tmp < data_list[j-1]:

                data_list[j] = data_list[j-1]  #元素向后移动,腾出插入位置

            else:

                break

            j -= 1

        data_list[j] = tmp #插入操作

        print(data_list)

    print(f"总循环次数为 {count}")

    return data_list

以上就是python插入排序的运行过程,希望对大家有所帮助。更多Python学习指路:python基础教程

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

以上是 python插入排序的运行过程 的全部内容, 来源链接: utcz.com/z/546051.html

回到顶部