izo*_*ica 233
为此目的std::reverse,algorithm标题中有一个函数.
#include <vector>
#include <algorithm>
int main() {
std::vector<int> a;
std::reverse(a.begin(), a.end());
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Xeo*_*Xeo 41
所有容器提供了一个相反的观点其内容与rbegin()和rend().这两个函数返回so-calles 反向迭代器,它可以像普通的那样使用,但看起来容器实际上是反转的.
#include <vector>
#include <iostream>
template<class InIt>
void print_range(InIt first, InIt last, char const* delim = "\n"){
--last;
for(; first != last; ++first){
std::cout << *first << delim;
}
std::cout << *first;
}
int main(){
int a[] = { 1, 2, 3, 4, 5 };
std::vector<int> v(a, a+5);
print_range(v.begin(), v.end(), "->");
std::cout << "\n=============\n";
print_range(v.rbegin(), v.rend(), "<-");
}
Run Code Online (Sandbox Code Playgroud)
Ideone上的实例.输出:
1->2->3->4->5
=============
5<-4<-3<-2<-1
Run Code Online (Sandbox Code Playgroud)
Chu*_*ris 20
你可以std::reverse像这样使用
std::reverse(str.begin(), str.end());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
122054 次 |
| 最近记录: |