python插入排序的运行过程

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

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

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

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

3、重复这个过程。

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

实例

#encoding=utf-8
definsert_sort(data_list):
'''
无优化版
'''
count=0#统计循环次数
length=len(data_list)
foriinrange(1,length):#默认第一个位置的元素是已排序区间,因此下标从1开始
tmp=data_list[i]#待插入的数据
j=i
whilej>0:#从已排序区间查找插入位置
count+=1
iftmp<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}")
returndata_list

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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。