使用 C++11 array 插入排序

#include 
#include 

using namespace std;

//2, 6, 1, 7, 4, 3, 8, 9, 5, 0
void insert_sort(array &arr)
{   
    auto ite1 = arr.begin() + 1;
    for(ite1; ite1!=arr.end(); ite1++)
    {   
        auto ite2 = arr.begin();
        for(ite2; ite2!=ite1; ite2++)
        {   
            if(*ite2 < *ite1)
                continue;
            break;
        }
        if(ite2 != ite1)
        {   
            array::value_type tmp_v = *ite1;
            for(auto i=ite1; i>ite2; i--)
                *i = *(i-1);
            *ite2 = tmp_v;
        }
    }   
    return;
}

int main()
{
    array a = {2, 6, 1, 7, 4, 3, 8, 9, 5, 0};

    for(auto i : a)
        cout << i << " ";
    cout << endl;

    insert_sort(a);

    for(auto i : a)
        cout << i << " ";
    cout << endl;

    return 0;
}

你可能感兴趣的:(c/c++)