01/11
2014
参考资料
头文件
#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