参考资料

std::reverse

reverse

头文件

#include <algorithm>

简单介绍

翻转c++数组或STL容器指定范围内的值

简单例子

普通数组
/**
 * C/C++ File
 *Filename: reverse_array.cpp
 *Created: 2014-01-11 03:06:27
 *Author: Myon, myon.cn@gmail.com
 *Desc: 使用reverse反转普通数组内容
 */

#include<algorithm>
#include<iostream>

int main()
{
    int a[10] = {};
    for(int i=0;i<10;i++)
    {
        a[i]=i;
    }
    //转换0~5下标的元素
    std::reverse(a,a+5);
    for(int i=0;i<10;i++)
    {
        std::cout<<a[i]<<std::endl;
    }
    return 0;
}
输出:
4 3 2 1 0 5 6 7 8 9
STL容器:
/**
 * C/C++ File
 *Filename: reverse_container.cpp
 *Created: 2014-01-11 03:21:17
 *Author: Myon, myon.cn@gmail.com
 *Desc: 使用reverse翻转STL容器指定范围的值
 */

#include<algorithm>
#include<iostream>
#include<vector>

int main()
{
    std::vector<int> a;
    std::vector<int>::iterator itr;
    for(int i=0;i<10;i++)
    {
        a.push_back(i);
    }
    //首尾翻转
    std::reverse(a.begin(),a.end());
    for(itr=a.begin();itr!=a.end();itr++)
    {
        std::cout<<*itr<<std::endl;
    }
    return 0;
}
输出:
9 8 7 6 5 4 3 2 1 0