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

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

    }

}

 

你可能感兴趣的:(算法导论)