vector容器

使用vector需要包含头文件

什么是vector

向量是一个能够存放任意类型的动态数组。

初始化

一、不带参数

// 定义了一个int类型的容器
vector<int> v1;
// 定义了一个double类型的容器
vector<double> v2;

容器可以使用数组方式获取它的值和赋值,但需要提前分配内存空间
例子:

vector<int> v1;
// 不可以使用数组方式给他赋值,因为容器并没有给他分配内容空间
v1[0] = 1;	// 错误,因为没有分配空间
// 可以使用数组方式给他赋值:
vector<int> v2(10); //分配了10个空间
v2[0] = 1;	// 正确
v2[11] = 11; // 错误,越界

二、带参数
1、分配十个空间

ector<int> v1(10);//int类型默认都是0

2、定义时同时赋值

vector<int> v3(10, 666);//默认所有元素都是666

3、使用其他容器初始化自己

vector<int> v1(5, 666);
vector<int> v2(v1);	// v1 和 v2 相等

vector<int> v1(5, 666);
vector<int> v2(v1.begin(), v1.end()); //使用 返回迭代器 的方式将一个容器的元素全都赋值给自己

vector<int> v1(5, 666);
// 将v1的元素从第三个元素到最后的元素赋值给v2
vector<int> v2(v1.begin() + 2, v1.end());  //begin 和 end 返回来的就是一个指针迭代器,所以可以进行加减操作,指向其他元素的位置

4、可以使用数组来初始化容器

vector常用方法

size 获取容器的元素个数 v1.size();
capacity 获取容器的大小 v1.capacity();
begin 获取容器第一个元素的迭代器 v1.begin();
end 指向容器最后一个元素的下一个位置的迭代器 v1.end();
empty 判断容器是否为空 if (v1.empty() == NULL) {}
push_back 尾部添加一个元素 v1.push_back(1); // 在尾部增加要给1
pop_back 尾部删除一个元素 v1.pop_back(); // 在尾部删除一个元素
at 对应位置 v1.at(0) = 1; 改值 v1.at(3) 对应元素
front 获取容器的第一个元素 v1.front() = 111;
back 获取容器的最后一个元素 v1.back() = 222; // 给最后一个元素赋值222
insert 元素的插入
// 往第一个元素的位置插入一个5
v1.insert(v1.begin(), 5);
// 从第三个元素位置开始插入5个222
v1.insert(v1.begin() + 2, 5, 222);
// 从第二个元素开始插入v2的所有值
v1.insert(v1.begin() + 1, v2.begin(), v2.end());
erase 与 clear 元素删除
// 删除第一个元素
v1.erase(v1.begin());
// 删除第一个到第三个元素
v1.erase(v1.begin(), v1.begin() + 3);
// 删除全部元素
v1.clear();
assign 赋值 类似重新初始化
resize 将容器缩小和变大

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贪睡的蜗牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值