VC++:求例子:使用迭代器来演示函数rbegin和rend的使用 5

如题一楼大哥:小弟不才,看不懂。... 如题
一楼大哥:小弟不才,看不懂。
展开
 我来答
当年错过9j
2008-01-02 · TA获得超过1387个赞
知道小有建树答主
回答量:967
采纳率:0%
帮助的人:867万
展开全部
#include <set>
#include <iostream>

int main( )
{
using namespace std;
set <int> s1;
set <int>::iterator s1_Iter;
set <int>::reverse_iterator s1_rIter;

s1.insert( 10 );
s1.insert( 20 );
s1.insert( 30 );

s1_rIter = s1.rbegin( );
cout << "The first element in the reversed set is "
<< *s1_rIter << "." << endl;

// begin can be used to start an iteration
// throught a set in a forward order
cout << "The set is:";
for ( s1_Iter = s1.begin( ) ; s1_Iter != s1.end( ); s1_Iter++ )
cout << " " << *s1_Iter;
cout << endl;

// rbegin can be used to start an iteration
// throught a set in a reverse order
cout << "The reversed set is:";
for ( s1_rIter = s1.rbegin( ) ; s1_rIter != s1.rend( ); s1_rIter++ )
cout << " " << *s1_rIter;
cout << endl;

// A set element can be erased by dereferencing to its key
s1_rIter = s1.rbegin( );
s1.erase ( *s1_rIter );

s1_rIter = s1.rbegin( );
cout << "After the erasure, the first element "
<< "in the reversed set is "<< *s1_rIter << "." << endl;
}

这是MSDN上 reverse_iterator 逆向迭代器的例子。 rbegin,rend 返回逆向迭代器

输入的结果是:
Output
The first element in the reversed set is 30.
The set is: 10 20 30
The reversed set is: 30 20 10
After the erasure, the first element in the reversed set is 20.

可以看出reverse_iterator 通过rbegin得到的是集合的最后一个元素,于iterator通过begin得到第一个元素正好相反。 rend也同理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式