clwn.net
当前位置:首页 >> 现在定义一个迭代器:vECtor<int>::itErAtor it = A.BEgin... >>

现在定义一个迭代器:vECtor<int>::itErAtor it = A.BEgin...

你可以使用if(*it == n){num++;}使用num判断是vector的第几个元素

按照STL的说法,vector中删除tmp后,tmp之后的iterator理论上都无效了.

#include <iostream>#include <vector>#include <iterator>using namespace std;int main(){ int a[3][3]={1,2,3,4,5,6,7,8,9}; vector<int> v(a[0],a[3]); //二维数组其实存储也是线性的 vector<int>::iterator it; int item=5; //假如删除5

vector::iterator是整数向量的迭代器类型 相当于指针的vector::iterator search(vector &V,int x);上面的就是返回一个vector::iterator函数的.

verctor<int>是声明向量容器;例如 verctor<int> v,就是创建了一个名字叫v的向量容器.vector<int>::iterator是定义向量迭代器例如,vector<int>::iterator it 就可以for(it=v.begin();it!=v.end();it++) cout<<*it<<endl;就把里面的内容都输出了

set<int>::iterator it=s.find(f12/n);find返回的是一个set的内容,不是一个迭代器.set<int>::iterator it=s.begin();或者set<int>::iterator it=s.end();可以返回一个迭代器.

vector::const_iterator i;i=max_element(i.begin(),i.end());最小值类似为min_element这是整型向量的字符串的比较你可以试一下

int main(){ vector<int> ivec(10,42); //初始化10个元素,每个元素初始值都为0 for (vector<int>::iterator iter=ivec.begin();iter!=ivec.end();++iter) //定义一个与vector 相关的迭代器,ivec.begin()指向容器头部,ivec.end()指向容器尾部的下一个 { *iter=0;//给每个元素赋值,10个元素都为0 } //迭代器相当于一个指针 // return 0; }

你这样初始化是不行的, 但是你可以用a初始化b: vector<int> b(a); 如果你想把之前b里面的东西都丢掉的话 b=a 就可以 如果你想吧a接在b后面的话 copy(a.begin(), a.end(), backinserter(b))这样可以. 但是要include两个头文件: algorithm和iterator

你前面应该还有int_vector的定义,如下typedef vector int_vector;就是用来声明it是迭代器类型 vector::iterator;四个点你可以理解为是vector这个容器类的迭代器

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com