这篇文章主要介绍了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插入排序运行过程的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。