海诗网 知识百科 vector(vector机器人)

vector(vector机器人)

vector, 向量c的用法是什么?不知道小伙伴们今天来看看边肖的分享吧!Vector是一种向量类型,可以容纳很多类型的数据,比如几个整数,所以叫容器。

Vector是C STL的重要成员。使用它时,需要包含头文件:

#includevector;

第一,向量的初始化

(1)向量a(10);//定义10个整数元素(尖括号中的元素类型名称,可以是任何合法的数据类型)的向量,但不给出初始值,其值不确定。

#includeiostream

#includemath.h

#includevector

using namespace std;

int main()

{

vectorint a(10);

for(int i=0;ia.size();i++)

couta[i] ;

return 0;

}

vector机器人

(2)向量a(10,1);//定义一个10个整数元素的向量,每个元素的初始值给定为1。

试验

#includeiostream

#includemath.h

#includevector

using namespace std;

int main()

{

vectorint a(10,1);

for(int i=0;ia.size();i++)

couta[i] ;

return 0;

}

(3)向量a(b);//使用B向量创建A向量,并分配整个副本。

测试:

#includeiostream

#includemath.h

#includevector

using namespace std;

int main()

{

vectorint b(10,3);

vectorint a(b);

for(int i=0;ia.size();i++)

couta[i] ;

return 0;

}

(4)向量a(b.begin(),b . begin 3);//定义了第0到第2个(共3个)元素测试,值为b:

#includeiostream

#includemath.h

#includevector

using namespace std;

int main()

{

vectorint b;

for(int i=0;i10;i++)

b.push_back(i);

向量a(b.begin(),b . begin()3);//用值b定义第0到第2(共3)个元素。

for( i=0;ia.size();i++)

couta[i] ;

return 0;

}

(5)int b[7]={1,2,3,4,5,9,8 };

向量a(b,B7);//从数组中获取初始值,从B开始,一共七个。

测试:

#includeiostream

#includemath.h

#includevector

using namespace std;

int main()

{

int b[7]={1,2,3,4,5,6,7};

向量a(b,B7);//从数组中获取初始值,从B开始,共7!

for( int i=0;ia.size();i++)

couta[i] ;

return 0;

}

vector机器人

其次,vector对象的几个重要操作说明如下:

(1)a.assign(b.begin(),b . begin()3);//b是一个向量,由b的0~2个元素组成的向量赋给a。

(2)a .赋值(4,2);//是的,A只包含4个元素,每个元素是2。

a . back();//返回的最后一个元素。

a . front();//返回的第一个元素。

(5)a[I];//当且仅当a[i]存在时,返回A的第I个元素。

(6)a . clear();//清除中的元素。

(7)a . empty();//判断A是否为空,为空则返回ture,不为空则返回false。

(8)a . pop _ back();//删除A向量的最后一个元素

(9)a.erase(a.begin() 1,a . begin()3);//删除A中的第1个(从0开始计数)到第2个元素,

也就是说,被删除的元素从a.begin() 1(包括它)开始计数到a.begin() 3(不包括它)。

(10)a . push _ back(5);//在a的最后一个向量后插入一个值为5的元素。

(11)a.insert(a.begin() 1,5);//在A的第一个元素(从第0个开始计数)的位置插入值5,如A为1,2,3,4,插入元素后为1,5,2,3,4。

(12)a.insert(a.begin() 1,3,5);//在A的第一个元素的位置插入3个数字(从0开始计数),它们的值都是5。

(13)a.insert(a.begin() 1,b 3,b 6);//b是一个数组。在A的第一个元素的位置(从0开始计数)插入B的第三个元素到第五个元素(不包括b 6)。

比如B是1,2,3,4,5,9,8,插入元素后是1,4,5,9,2,3,4,5,9,8。

(14)a . size();//返回中的元素数;

(15)a . capacity();//返回内存中可以容纳的元素总数。

(16)a . resize(10);//将A的现有元素数调整为10,如果删除的元素多,如果添加的元素少,则值是随机的。

(17)a.resize(10,2);//将A的现有元素数调整为10,如果删除的元素多,如果添加的元素少,则值为2。

(18)a .储备(100);//将A的容量扩展到100,

也就是说现在测试a . capacity();返回值是100。这个操作只有在你需要给A添加大量数据的时候才有意义,因为这样会避免内存的多次扩容操作(当A的容量不足时,电脑会自动扩容,

当然,这必然会降低性能)

(19)a .互换(b);//b是一个向量,A和B中的元素整体交换。

(20)a==b;//b是向量,向量的比较运算还是可以的!=,=,=,

vector机器人

三、按顺序访问向量的几种方法,例如,如下:

(1)向向量a添加元素

1、利用push_back()

vectorint a;

for(int i=0;i10;i++)

a.push_back(i);

2、也可以从数组中选择元素向向量中添加

int a[6]={1,2,3,4,5,6};

vectorint b;

for(int i=1;i=4;i++)

b.push_back(a[i]);

3、也可以从现有向量中选择元素向向量中添加

int a[6]={1,2,3,4,5,6};

vectorint b;

vectorint c(a,a+4);

for(vectorint:iterator it=c.begin();itc.end();it++)

b.push_back(*it);

4、也可以从文件中读取元素向向量中添加

ifstream in(data.txt);

vectorint a;

for(int i; ini)

a.push_back(i);

5、【误区】

vectorint a;

for(int i=0;i10;i++)

a[i]=i;

//这种做法以及类似的做法都是错误的。刚开始我也犯过这种错误,后来发现,下标只能用于获取已存在的元素,而现在的a[i]还是空的对象

(2)从向量中读取元素

1、通过下标方式读取

int a[6]={1,2,3,4,5,6};

vectorint b(a,a+4);

for(int i=0;i=b.size()-1;i++)

coutb[i] ;

2、通过遍历器方式读取

int a[6]={1,2,3,4,5,6};

vectorint b(a,a+4);

for(vectorint:iterator it=b.begin();it!=b.end();it++)

cout*it ;

vector,以上就是本文为您收集整理的vector最新内容,希望能帮到您!更多相关内容欢迎关注。

本文来自网络,不代表海诗网立场,转载请注明出处:https://m.hallse.com/n/168009.html
发表回复