#coding=utf-8 # 插入排序 ''' 直接插入排序算法的原理如下: 在要排序的一组数中,假设前面(i-1) [i>=2] 个数已经是排好顺序的, 现在要把第i个数插到前面的有序数中,使得这i个数也是排好顺序的, 如此反复循环,直到全部排好顺序。 ''' def insert_sort(li): for i in range(1, len(li)): print("第%s趟" % (i)) key = li[i] j = i - 1 while j >= 0: if li[j] > key: li[j+1] = li[j] li[j] = key print("比对%s" %(li)) j -= 1 import random # range()函数中有一个参数,则从0开始。 # range()函数中有两个参数,则将第一个参数做为起始位,第二个参数为结束位 li = list(range(9)) #print(li) # 将序列的所有元素随机排序 random.shuffle(li) print("排序准备%s" % li) insert_sort(li) print("排序结果%s" % li)