插入算法

插入算法:

插入算法的理解,就和打扑克放纸牌一样,首先有一张参照物,就是将第一张牌放在最前面,后续的牌和之前的牌比较,比较时将一张一张牌向后靠,也就是将顺序向后移动一位。

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
        
    

posted on 2021-07-15 23:55  彦祖nchu  阅读(509)  评论(0)    收藏  举报

导航