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;
    }
}

 有图有真相:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM