插入排序
插入排序的编码完成尽管沒有冒泡排序和选择排序那麼简单直接,但它的基本原理应该是最非常容易了解的了,由于只需打了扑克游戏的人都应当可以立懂。插入排序是一种非常简单形象化的快速排序算法,它的原理是根据搭建井然有序编码序列,针对未排列数据信息,在已排列编码序列中从后往前扫描仪,寻找相对部位并插进。
插入排序和冒泡排序一样,也有一种蚁群算法,称为拆半插进。
优化算法流程
- 将第一待排列编码序列第一个原素看作一个井然有序编码序列,把第二个原素到最后一个原素当做是未排列编码序列。
- 从头至尾先后扫描仪未排列编码序列,将扫描仪到的每一个原素插进井然有序编码序列的适度部位。(假如待插进的原素与井然有序编码序列中的某一原素相同,则将待插进原素插进到相同原素的后边。)
Python 编码完成
def insertionSort(arr):
for i in range(len(arr)):
preIndex = i-1
current = arr[i]
while preIndex >= 0 and arr[preIndex] > current:
arr[preIndex 1] = arr[preIndex]
preIndex-=1
arr[preIndex 1] = current
return arr