关于标准库vector的使用

vector是同一种类型的对象的集合,每个对象都有一个对应的整数索引值。我们把vector称为容器,是因为它可以包含其他的对象,且一个容器中的所有对象都必须是同一种类型的。

vector是一个类模板,可用来定义任意多种数据类型,vector类型的每一种都指定了其保存的元素类型,如:vector<int>和vector<string>都是数据类型。再举一个例子,vector<int> ivec;的意思是说容器名为ivec保存的数据类型为int。

vector对象的定义和初始化:以下为几种初始化vector对象的方式

vector<T>  v1;             vector保存类型为T的对象,默认构造函数v1为空。

vector<T>  v2(v1);       v2是v1的一个副本。

vector<T>  v3(n,i);       v3包含n个值为i的元。

vector<T>   v4(n);         v4含有值初始化的元素的n个副本。

例:vector<int>   ivec(10 ,7)  容器名为ivec的容器包含有10个元素,每一个被初始化为7

 vector对象的重要性就在于它在运行时可以高效地添加元素,因为vector增长的效率高,在元素值已知的情况下,最好是动态地添元素。虽然可以对给定元素个数的vector对象预先分配内存,但更有效的方法是先初始化一个空的vector对象,然后再动态地增加元素。

vector对象的操作:有如下操作

v.empty( )            如果v为空,则返回true,否则返回false。

v.size( )                返回v中元素的个数。

v.push_back( t )  在v的末尾增加一个值为t的元素、

v[n]                        返回v中位置为n的元素

使用size_type类型时,必须指出该类型是在哪里定义的,vector类型总是包括vector的元素类型,如:

vector<int>::size_type ix=0;这个主要是用来用作下标操作的,前提是必须是已存在的元素才能用下标操作符。

向vector添加元素:push_back( )操作接受一个元素值 ,并将它作为一个新的元素添加到vector对象的后面,也就是插入到vector对象的后面(back):

string   word;

vector<string>   text;

while(cin>>word){

          text.push_back(word);

}

该循环从标准输入读取一系列string对象,逐一追加到vector对象的后面。首先定义一个空的vector对象text。每循环一次就添加一个新的元素到vector对象中,并将从输入读取的word值赋予该元素。当循环结束时,text就包含了所有读入的元素了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值