c++中的vector的简介
程序员文章站
2022-06-17 19:23:09
向量 vector 是一种对象实体, 能够容纳许多其他类型相同的元素, 因此又被称为容器。 与string相同, vector 同属于stl(standard template library, 标...
向量 vector 是一种对象实体, 能够容纳许多其他类型相同的元素, 因此又被称为容器。 与string相同, vector 同属于stl(standard template library, 标准模板库)中的一种自定义的数据类型, 可以广义上认为是数组的增强版。
在使用它时, 需要包含头文件 vector, #include vector 容器与数组相比其优点在于它能够根据需要随时自动调整自身的大小以便容下所要放入的元素。此外, vector 也提供了许多的方法来对自身进行操作。
声明和初始化:
vector a ; //声明一个int型向量a vector a(10) ; //声明一个初始大小为10的向量 vector a(10, 1) ; //声明一个初始大小为10且初始值都为1的向量 vector b(a) ; //声明并用向量a初始化向量b vector b(a.begin(), a.begin()+3) ; //将a向量中从第0个到第2个(共3个)作为向量b的初始值
或者list initialization
vector v1{"a", "an"}; // initialize with two elements vector v2("a"); // error
或者用另一个向量初始化:
vector v2(v1); vector v2 = v1;
或者直接用数组初始化:
int n[] = {1, 2, 3, 4, 5} ; vector a(n, n+5) ; //将数组n的前5个元素作为向量a的初值 vector a(&n[1], &n[4]) ; //将n[1] - n[4]范围内的元素作为向量a的初值
添加element:
vector v; for (int i = 0; i < 100; i++) { v.push_back(i); }
other common operations:
v.empty(); // return true if v is empty v.size(); // return the number of the elements in vector
元素的访问:
// using subscript int i ; for(i=0; i::iterator t ; for(t=a.begin(); t!=a.end(); t++) cout<<*t<<" " ;
c++ 中,所以容器操作更加鼓励iterator but not subscript
动态插入和删除:
插入:
指定起始位置, 插入元素以及个数
或者指定插入内容为另一个vector或者数组里的一段,类似begin(), end().
// inserting into a vector #include #include int main () { std::vector myvector (3,100); std::vector::iterator it; it = myvector.begin(); it = myvector.insert ( it , 200 ); myvector.insert (it,2,300); // "it" no longer valid, get a new one: it = myvector.begin(); std::vector anothervector (2,400); myvector.insert (it+2,anothervector.begin(),anothervector.end()); int myarray [] = { 501,502,503 }; myvector.insert (myvector.begin(), myarray, myarray+3); std::cout << "myvector contains:"; for (it=myvector.begin(); it
推荐阅读
-
js中Number数字数值运算后值不对的解决方法
-
js中删除数组中的某一元素实例(无下标时)
-
editplus和mingw一起搭建c/c++开发环境的详细步骤
-
解决eclipse中egit中的cannot open git-upload-pack问题
-
2021年中国最好的211非985大学排名(最新整理)
-
64位win7系统中iis7报80004005错误的解决方法
-
企业在做微博营销的过程中需要注意四大问题
-
在笔记本中Virtual PC 2007的问题及解决方案
-
Mysql注入中的outfile、dumpfile、load_file函数详解
-
对Python中TKinter模块中的Label组件实例详解