网站的根目录中汕头招聘网官网登录
web/
2025/9/25 19:26:20/
文章来源:
网站的根目录中,汕头招聘网官网登录,门户网站建设创新,房地产公司网站 源码算法之插入排序
插入排序
核心思想#xff1a;将待排序数插入到已经拍好的有序区的合适的位置
nums [9, 1, 8, 5, 6]
nums [None] nums
length len(nums)
print(nums[1:], length) # 1: 从索引1开始#xff0c;排除 None
count_move 0for i in range(2, length):nums…算法之插入排序
插入排序
核心思想将待排序数插入到已经拍好的有序区的合适的位置
nums [9, 1, 8, 5, 6]
nums [None] nums
length len(nums)
print(nums[1:], length) # 1: 从索引1开始排除 None
count_move 0for i in range(2, length):nums[0] nums[i]j i - 1if nums[j] nums[0]:while nums[j] nums[0]:nums[j1] nums[j]j - 1count_move 1nums[j1] nums[0]print(nums[1:], count_move)# 返回结果[9, 1, 8, 5, 6] 6
# 返回结果[1, 5, 6, 8, 9] 6解释说明
这段代码实现了插入排序算法。首先将列表的第一个元素设置为None然后遍历列表中的元素将当前元素与前面的元素进行比较如果当前元素小于前面的元素则将前面的元素后移一位直到找到合适的位置插入当前元素。同时记录移动的次数。最后输出排序后的列表和移动次数。
注意事项
代码中的nums [None] nums是为了在列表的开头添加一个占位元素使得后续的插入操作可以统一处理。在遍历过程中需要从第二个元素开始索引为2因为第一个元素已经作为占位元素。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/81784.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!