C语言实现常用排序算法——插入排序

插入排序是最基础的排序算法,原理:

首先1个元素肯定是有序的,所以插入排序从第二个元素开始遍历;
内循环首先请求一个空间保存待插入元素,从当前元素向数组起始位置反向遍历;
当发现有大于待插入元素的元素,则将此元素向后挪一位,最终将缓冲区的元素放入空白位置。

void insert_sort(int a[],int n) {
    int i,j,temp;
    for(i=1; i<n; i++) {
        temp=a[i];
        for(j=i; j>0; j--) {
            if(temp<a[j-1]) {
                a[j]=a[j-1];
            }else{
                break;
            }
        }
        a[j]=temp;
    }
}

 有图有真相:

猜你喜欢

转载自www.cnblogs.com/wangbin2188/p/9593565.html