插入算法的理解,就和打扑克放纸牌一样,首先有一张参照物,就是将第一张牌放在最前面,后续的牌和之前的牌比较,比较时将一张一张牌向后靠,也就是将顺序向后移动一位。
c语言的插入算法:
void insertion_sort(int arr[], int len){
int i,j,key;
for (i=1;i<len;i++){
j=i-1;
key = arr[i];
while((j>=0) && (arr[j]>key)) {
arr[j+1] = arr[j];
j--;
}
arr[j+1] = key;
}
}
python:
def insertion_sort(arr):
for i in range(len(arr)):
arr_numSize = i-1
current = arr[i]
while arr_numSize >= 0 and arr[arr_numSize] > current:
arr[arr_numSize+1] = arr[arr_numSize]
arr_numSize = arr_numSize-1
arr[arr_numSize+1] = current
return arr
原文:https://www.cnblogs.com/qq1105676570/p/15018167.html