排序算法合集(插入排序,折半插入排序,希尔排序,冒泡排序,快速排序,简单选择排序,堆排序,归并排序)

直接插入排序
对于n个数据排序,插入序列需要排序n-1次。第p次排序保证从第0个位置到第p个位置上的元素为有序状态。第p+1次排序将第p+2个元素
插入到前面p+1个元素的有序表中。下面是代码

template <typename T>
void InsertionSort(vector& array){
    int j;
    for (int i=1;i<array.size();i++){
        T temp = array[i];
        j = i-1;
        while (j>=0 && array[j] > temp){
            array[j+1] = array[j];
            j--;
        }
        array[j+1] = temp;
    }
}

你可能感兴趣的:(数据结构与算法)