reverse-关于vector的反向迭代器

问题描述

关于vector的反向迭代器

渣渣求教:我知道如何把正向迭代器转化为反向迭代器
vector::reverse_iterator(max_element(b.begin(),b.end()));
后续如果用反向太麻烦,但是用同样的方法把反向转化为正向貌似不行,该怎么办呢?

解决方案

 智者知已应修善业   正解,vector的迭代器支持随机访问,用++或者--也可以。

解决方案二:

需要那么麻烦?正方向只不过是++或--就可以了

解决方案三:

需要那么麻烦?正向只不过是++或反向用--就可以了

解决方案四:

crbegin,crend可以正向反向访问

解决方案五:

可以用++, --来移动迭代器。正向就是++,从begin开始往后,反向就是--,从end往前

时间: 2024-09-13 23:53:57

reverse-关于vector的反向迭代器的相关文章

反向迭代器的问题,在分步调试的时候发现了问题(代码为UVA714的题目)

问题描述 反向迭代器的问题,在分步调试的时候发现了问题(代码为UVA714的题目) #include #include #include using namespace std; bool search(vector,int,int); int main() { int n,k; cin>>n>>k; vectora; int sum=0; for(size_t i=0;i!=n;++i) { int temp;cin>>temp; sum+=temp; a.push_

c++-在使用set反向迭代器的时候的出现的问题,C++初学

问题描述 在使用set反向迭代器的时候的出现的问题,C++初学 for(set::reverse_iterator iter1=s.rbegin();iter1!=s.rend();++iter1) for(set::reverse_iterator iter2=s.rbegin();iter2!=s.rend();++iter2) { int nn=*iter1,m=*iter2; if(s.find(*iter1+*iter2)==s.end()) { if(*iter1+*iter2==n

HDOJ 1266 Reverse Number(数字反向输出题)

Problem Description Welcome to 2006'4 computer college programming contest! Specially, I give my best regards to all freshmen! You are the future of HDU ACM! And now, I must tell you that ACM problems are always not so easy, but, except this one- Ha-

把《c++ primer》读薄(3-2 标准库vector容器+迭代器初探)

督促读书,总结精华,提炼笔记,抛砖引玉,有不合适的地方,欢迎留言指正. 标准库vector类型初探,同一种类型的对象的集合(类似数组),是一个类模版而不是数据类型,学名容器,负责管理 和 存储的元素 相关的内存,因为vetcor是类模版,对应多个不同类型,比如int,string,或者自己定义的数据类型等. 程序开头应如下声明 #include <iostream> #include <vector> #include <string> using std::strin

C++容器与迭代器

* 容器的迭代器还有几种: + iterator:正常迭代器(常用) + reverse_iterator:反向迭代器(有时也用) - rbegin(),rend()//返回反向迭 代器 + const_iterator:常量迭代器 + const_reverse_iterator: iterator find(数据){ for( 从beg;!=end;it ++) if(*it==数据) return it; return end;//未找到,返回无效迭代器 }//查询 *it = new_d

STL之二:vector容器用法详解

    vector类称作向量类,它实现了动态数组,用于元素数量变化的对象数组.像数组一样,vector类也用从0开始的下标表示元素的位置:但和数组不同的是,当vector对象创建后,数组的元素个数会随着vector对象元素个数的增大和缩小而自动变化.     vector类常用的函数如下所示:     1.构造函数 vector():创建一个空vector vector(int nSize):创建一个vector,元素个数为nSize vector(int nSize,const t& t):

STL之再探迭代器

插入迭代器 迭代器被绑定到一个容器上,可用来向容器插入元素. back_inserter创建一个使用push_back的迭代器 front_inserter创建一个使用push_front的迭代器 inserter创建一个使用insert的迭代器,此函数接受哦第二个参数,这个参数必须是指向一个给定容器的迭代器.元素将被插入到给定迭代器所表示的元素之前. list<int> lst = {1,2,3,4}; list<int> lst1, lst2; //空list //拷贝完成之后

C++中的数组array和vector,lambda表达式,C字符串加操作,C++中新类型数组(数组缓存),多元数组,new缓冲

 使用C++风格的数组,不需要管理内存. array要注意不要溢出,因为它是栈上开辟内存. array适用于任何类型 #include<iostream> #include<array> #include<vector>   //C++的标准库 #include<string>   //C++字符串 #include <stdlib.h>   using  std::array; //静态数组,栈上 using std::vector; //

STL——vector

vector类称作向量类,它实现了动态数组,用于元素数量变化的对象数组.像数组一样,vector类也用从0开始的下标表示元素的位置:但和数组不同的是,当vector对象创建后,数组的元素个数会随着vector对象元素个数的增大和缩小而自动变化.     vector类常用的函数如下所示:     1.构造函数 vector():创建一个空vector vector(int nSize):创建一个vector,元素个数为nSize vector(int nSize,const t& t):创建一个