在c中,vector是一个非常有用的容器,c vector的使用方法如下:
1、基本操作
(1)头文件#包含。
)2)创建vector对象,然后单击vectorvec;
(3)在末尾插入数字) vec.push_back(a ) a;
)4)使用下标访问元素,coutvec[0]endl; 请记住下标从0开始。
)5)使用迭代器访问元素。
vector:iterator it;
for(it=vec.Begin ); it!=vec.end (; it )
cout*itendl;
)6)插入元素:
VEC.insert(vec.Begin ) ) I,a );
在第i 1个元素前插入a;
(7)要素删除:
vec.erase(vec.begin ) ) 2;
删除第三个要素
vec.erase(vec.Begin(I,vec.end ) ) j;
删除区间[i,j-1]; 区间从0开始
(8)向量大小: vec.size );
(9)清除: vec.clear;
2、请注意,矢量元素不仅可以是int、double、string,也可以是结构,但结构需要全局定义,否则会出错。 下面是一个简单的程序代码。
#包含
#包含
#包含
#包含
用户命名空间STD;
typedef struct rect
{
int id;
int length;
输入宽度;
//如果向量元素是结构,则在结构内部定义比较函数,并按id、length和width的升序排序。
ool操作器(const recta ) const
{
if(id!=a.id )
return ida.id;
else
{
If (长度!=a.length )
return lengtha.length;
else
return widtha.width;
}
}
(}Rect;
int main () )
{
向量向量;
重传;
rect.id=1;
rect.length=2;
rect.width=3;
vec.push_back(rect;
vector :3360 iterator it=vec.begin (;
cout(it ).id ) ) it ).length ) ) it ).width
返回0;
}
3、算法
(1)、需要头文件#include (使用reverse反转元素)
reverse(vec.begin )、vec.end );
反转元素(在vector中,如果一个函数需要两个迭代器,则后者通常不包括。
(2)、使用sort排序)需要头文件#include,
sort(vec.Begin )、vec.end );
默认值为升序,也就是从小到大的顺序。
复盖排序比较函数可以按降序进行比较,如下所示:
要定义排序比较函数:
ool comp (常数、常数b ) )。
{
返回AB;
}
调用时:sort(vec.begin、vec.end、Comp ) ),按降序排序。
声明:
这篇文章在网上整理,版权归原作者所有。 如果来源信息错误或侵犯权利,请与删除或批准联系。