标签:就是 访问 end and ras als 标准 temp 基本操作
一、介绍
向量 vector 是一种对象实体, 能够容纳许多其他类型相同的元素, 因此又被称为容器。 与string相同, vector 同属于STL(Standard Template Library, 标准模板库)中的一种自定义的数据类型, 可以广义上认为是数组的增强版。
在使用它时, 需要, #include<vector>
vector 容器与数组相比其优点在于它能够根据需要随时自动调整自身的大小以便容下所要放入的元素。此外, vector 也提供了许多的方法来对自身进行操作。
二、声明及初始化
vector<int> a ; //声明一个int型向量a vector<int> a(10) ; //声明一个初始大小为10的向量 vector<int> a(10, 1) ; //声明一个初始大小为10且初始值都为1的向量 vector<int> b(a) ; //声明并用向量a初始化向量b vector<int> b(a.begin(), a.begin()+3) ; //将a向量中从第0个到第2个(共3个)作为向量b的初始值
使用数组进行初始化:
1 int n[] = {1, 2, 3, 4, 5} ; 2 vector<int> a(n, n+5) ; //将数组n的前5个元素作为向量a的初值 3 vector<int> a(&n[1], &n[4]) ; //将n[1] - n[4]范围内的元素作为向量a的初值
向量元素的位置便成为遍历器, 同时, 向量元素的位置也是一种数据类型, 在向量中遍历器的类型为: vector<int>::iterator。 遍历器不但表示元素位置, 还可以再容器中前后移动。
1 //全部输出 2 vector<int>::iterator t ; 3 for(t=a.begin(); t!=a.end(); t++)//t就是迭代器,表示元素位置,还可以前后移动 4 cout<<*t<<" " ;//*t为指针的间接访问形式,是访问t指向的元素值
三、基本操作
1 a.size() //获取向量中的元素个数 2 a.empty() //判断向量是否为空,返回true或false 3 a.clear() //把size(还有的元素个数)设置为0,capacity(分配的内存)不变。 4 a = b ; //将b向量复制到a向量中 5 a == b ; //a向量与b向量比较, 相等则返回1 6 7 a.insert(a.begin(), 1000); //将1000插入到向量a的起始位置前 8 a.insert(a.begin(), 3, 1000) ; //将1000分别插入到向量元素位置的0-2处(共3个元素) 9 10 vector<int> a(5, 1) ; 11 vector<int> b(10) ; 12 b.insert(b.begin(), a.begin(), a.end()) ; //将a.begin(), a.end()之间的全部元素插入到b.begin()前 13 14 b.erase(b.begin()) ; //将起始位置的元素删除 15 b.erase(b.begin(), b.begin()+3) ; //将(b.begin(), b.begin()+3)之间的元素删除 16 17 b.swap(a) ; //a向量与b向量进行交换
1 vector< vector<int> > b(10,vector<int>(5)); // 创建一个10x5的int二维向量 2 3 b[1][1] = 5;//把5赋给[1][1]位置
标签:就是 访问 end and ras als 标准 temp 基本操作
原文地址:https://www.cnblogs.com/pacino12134/p/10962846.html