什么是插入排序?
插入排序就是将一个数组分为2部分,前面部分是已经排序好的,后面一部分是待排序数组。
首先将数组的第一个元素视作已排序好的第一部分,第二个元素到最后一个元素视为第二部分,
for循环第二部分,将第二部分的第一个元素,与第一部分的第一个元素进行比较,如果小于,则互换位置,否则不变,第一次循环结束。
这时,第一部分就变为了,该数组的第一个元素,和第二个元素。
第二次循环:
将第二部分的第二个(也就是目前第二部分的第一个元素),依次与第一部分的第二个元素比较,如果大于,则直接进入第三次循环,如果小于则互换位置,再与第一个元素比较,
如果小于则互换位置。
第三次循环重复第二次循环。
后面循环依次重复该步骤即可。
python代码如下
ll = [54, 3, 45, 3, 2, 1, 3, 4, 6, 54, 645, 7, 68] lenl = len(ll) for i in range(1, lenl): print(i) for j in range(i): print(j) if ll[i-j] > ll[i-1-j]: break else: ll[i-j], ll[i-1-j] = ll[i-1-j], ll[i-j]