插入排序
插入排序,又名Insertion Sort,其原理是数列前面为排序完成的值,数列后面为未排序的值。
假设前面n-1(其中 n>=2)个数已经是排好顺序的,现将第n个数插到前面已经排好的序列中,然后找到合适自己的位置,使得插入第n个数的这个序列也是排好顺序的。
按照此法对所有元素进行插入,直到整个序列排为有序的过程,称为插入排序。
图解插入排序
原理过程如下:
- 输入n个数值的列表
- 接着,进行下标0和1的数值比较,把大的放后面,小的插入到前面,第1轮排序结束(其前2位为排序完成的数列,后面n-2个为未排序的数列)
- 继续选择下标为的数值和下标为1的数值进行比较,大的后移1位,小的继续比较小标0的位置,大的后移,小的插入前面。
- 依次类推,直到n-1下标的数值插入完成,获得最终的排序结果。
图解插入排序:
第1次循环(i=1,j=1):
第2次循环(i=2,j=2):
第3次循环(i=3,j=3):