泛型算法(七)之逆序算法

1、reverse(BidirectionalIterator first, BidirectionalIterator last):把序列中的元素逆序

    std::vector<int> c;
    c.reserve(10);
    //向c中添加元素
    for (int i = 0; i < 10; i++)
    {
        c.push_back(i);
    }
    //把c中的元素逆序
    std::reverse(c.begin(), c.end());
    //输出c
    for (auto var : c)
    {
        std::cout << var << ",";
    }
    //打印结果:9,8,7,6,5,4,3,2,1,0,        

2、reverse_copy(BidirectionalIterator first, BidirectionalIterator last, OutputIterator result):复制序列的逆序

    std::vector<int> c;
    std::vector<int> result;
    c.reserve(10);
    result.resize(10);
    //向c中添加元素
    for (int i = 0; i < 10; i++)
    {
        c.push_back(i);
    }
    //把c中的元素的逆序复制到result中,c本身不改变
    std::reverse_copy(c.begin(), c.end(), result.begin());
    //输出result
    for (auto var : result)
    {
        std::cout << var << ",";
    }
    //打印结果:9,8,7,6,5,4,3,2,1,0,

 

posted on 2016-01-19 11:41  dongtshj  阅读(645)  评论(0编辑  收藏  举报