c++插入排序代码详解

//
// Created by 91614 on 2018/12/20.
//插入排序

#ifndef ARRAY_9_11_H
#define ARRAY_9_11_H
template<class T>
void  insertionSort(T a[],int n){
    int i,j;//j是将要插入的位置,i是目标元素
    T temp;//模板
    //默认a[0]是已经排序好的
    for(int i=1;i<n;i++){
        //寻找将要插入的位置
        int j=i;//将已经排序好的元素的值赋值给j,让他去寻找在已经排序好的序列的位置
        temp = a[i];
        //找到要插入的位置并给他腾出位置
        while(j>0 && temp<a[j-1]){
            //temp>=a[j-1]时,j就是你要插入的位置
            //现在假设进入循环,给temp腾出位置
            a[j] = a[j-1];
            j--;
        }
        a[j] = temp;

    }

}
#endif //ARRAY_9_11_H

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值