将一组随机排列的数字重新按照从小到大的顺序排列。
每次从数组中取一个数字,与现有数字比较并插入适当位置。
如此重复,每次均可以保持现有数字按照顺序排列,直到数字取完,即排序成功。
这很像打牌时的抓牌情况,
保证这两条不变,那么无论抓了几张牌,最后手上的牌都是依照顺序排列的。
#coding=cp936 #coding=cp936 #插入排序算法 def InsertionSort(A): for j in range(1,len(A)): key = A[j] i = j-1 #向前查找插入位置 while i>=0 and A[i]>key: A[i+1] = A[i] i = i-1 A[i+1] = key #初始化输入数据 A = [] input = raw_input('please input some numbers:') #输入逗号分隔整数列 如:7,6,5,1,8,34 for item in input.split(','): A.append(int(item)) InsertionSort(A)#插入排序 print A