《算法导论》杂记

// asc
void insertionSortAsc(vector<int> &v)
{
    int len = v.size();
    for (int i = 1; i < len; i++)
    {
        int key = v[i];
        int j = i - 1;
        while (j >= 0 && v[j] > key)
        {
            v[j + 1] = v[j];
            j--;
        }
        v[j + 1] = key;
    }
}

// desc
void insertionSortDesc(vector<int> &v)
{
    int len = v.size();
    for (int i = 1; i < len; i++)
    {
        int key = v[i];
        int j = i - 1;
        while (j >= 0 && v[j] < key)
        {
            v[j + 1] = v[j];
            j--;
        }
        v[j + 1] = key;
    }
}
原文地址:https://www.cnblogs.com/Azurewing/p/4063602.html