介绍
vector(矢量; 向量),vector是C++标准模板库(STL)中的部分内容,中文偶尔译作“容器”,但并不准确。它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。
vector 是同一种类型的对象的集合,每个对象都有一个对应的整数索引值,它的一个容器中的所有对象都必须是同一种类型的。
vector 是一个类模板。使用模板可以编写一个类定义或函数定义,而用于多个不同的数据类型。因此,我们可以定义保存 string 对象的 vector,或保存 int 值的 vector,又或是保存自定义的类类型对象的 vector。vector 不是一种数据类型,而只是一个类模板,可用来定义任意多种数据类型。vector 类型的每一种都指定了其保存元素的类型。
用法
在C++中,vector是个常用的容器,一下是它的具体用法
vector<int> v(n,i); //建立一个长度为n的一维动态数组v,初始每个元素都赋值为i vector<vector<int> > ve; //建立一个二维动态数组ve(特别注意:'>'和'>'之间有一个空格,如果不打,会被认为是位移运算而报错) v.push_back(a); //将a元素放在v数组的末尾,且数组长度加1 v.begin(); //返回数组v的首元素 v.end(); //返回数组v的末端元素的下一个 v.size(); //返回数组v的长度 v.erase(a); //删除a位置的数据,并传回下一个数据的位置 v.resize(n,m); //重定义v的长度为n,若n小于原数组的长度,就删除多余元素,若n大于原数组的长度,则将多出来的部分赋值为m vector<int>::iterator it; //建立一个叫it的迭代器
同时,在使用vector是需要用特点的头文件
#include<vector> //使用vector的特定头文件,虽然我更喜欢用万能头
优点
动态数组可以随时调整数组大小,并且提供额外的方法增加、减小数组中的元素,相对于数组十分的高效。
缺点
运行速度与数组相比较慢。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)