正在加载图片...
(2)创建vector对象,vectorcint)vec: (3)尾部插入数字:vec:push_back(a); 《4使用下标访问元素,】 cout<vec(k<endl记住下标是从O开始的, (5)使用迭代器访问元素 ec.end();it++) (6插入元素:vac.insert(vac,begin()+i,a):在第i+1个元素前面插入d 7)除元素:Vec.era5e(vec.begin(0+2);那除第3个元 vec.erase(vec.beg1n()+1,vec,end()+j):除区间可[i-订1]区间从0开始 (8)向量大小vec,512e): (9清控:vc.c1ear0 特别提示:这里有begin(0与end0函数.front0与back0的差别 2。重要说明 vector的元素不仅仅可以是int.double,,string还可以是结构体,但是要注意:结构体要定义为全局的,否则会出错。 using namespace std typedef struct rect nt int width 1/对于向量元素是结构体的,可在结构体内部定义比较函数,下面按照id,length,,w1dth升序排序, bool operatorc (const rect &a)const f(idl-2.i return idca.id; else if(lengthl-a.length length; return widthca.width; vectorcRect>vec; Rect recti rect.id-1; rect.width-3 vec.push_back(rect); vectorRect>::iterator it-vec.begin(); cout(it).id''(i).length<'(it).widthccendl; (2)创建vector对象, vector<int> vec ; (3)尾部插入数字: vec.push_back(a) ; (4)使用下标访问元素, cout<<vec[0]<<endl ;记住下标是从0开始的。 (5)使用迭代器访问元素. (6)插入元素: vec.insert(vec.begin()+i,a) ; 在第i+1个元素前面插入a; (7)删除元素: vec.erase(vec.begin()+2) ; 删除第3个元素 vec.erase(vec.begin()+i,vec.end()+j) ; 删除区间[ i,j-1] 区间从0开始 (8)向量大小: vec.size() ; (9)清空: vec.clear() ; 特别提示:这里有 begin() 与 end() 函数、front() 与 back() 的差别 2、重要说明 vector 的元素不仅仅可以是 int,double,string 还可以是结构体,但是要注意:结构体要定义为全局的,否则会出错。 vector<int>::iterator it; for(it=vec.begin();it!=vec.end();it++) cout<<*it<<endl; #include<stdio.h> #include<algorithm> #include<vector> #include<iostream> using namespace std; typedef struct rect { int id; int length; int width; //对于向量元素是结构体的,可在结构体内部定义比较函数,下面按照id,length,width升序排序。 bool operator< (const rect &a) const { if(id!=a.id) return id<a.id; else { if(length!=a.length) return length<a.length; else return width<a.width; } } }Rect; int main() { vector<Rect> vec; Rect rect; rect.id=1; rect.length=2; rect.width=3; vec.push_back(rect); vector<Rect>::iterator it=vec.begin(); cout<<(*it).id<<' '<<(*it).length<<' '<<(*it).width<<endl; return 0; }
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有