《算法导论》杂记 - 第二章 算法基础

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

 

posted @ 2014-11-03 20:57  Azurewing  阅读(118)  评论(0编辑  收藏  举报