没有合适的资源?快使用搜索试试~ 我知道了~
C++之STL的vector详解,包括初始化和各种函数:vector的初始化、数据的增删查改等
需积分: 0 0 下载量 80 浏览量
2024-03-29
12:10:16
上传
评论 1
收藏 17KB DOCX 举报
温馨提示
试读
16页
vector的详解那篇 一、vector的初始化 1、默认构造函数 2、拷贝构造函数copy区间 3、指定数量和元素值的构造函数 4、指定数量的构造函数 5、拷贝构造函数 二、vector的初始化-赋值 1、.assign(beg, end) 赋值操作 2、.assign(n, elem) 赋值操作 3、重载等号操作符 operator= 4、直接列表初始化 `Vector<T> {,};` 5、swap 函数 三、数据的增删查改 1、at(int id)接口 2、front()接口 3、back()接口 4、[id]直接取 5、插入函数 6、尾部添加 push_back(ele) 7、尾部删去 pop_back() 8、删区间 9、删指定位置 10、清空 四、其他接口 1、size()成员函数 2、empty() 3、resize(int num) 4、capacity() 5、reserve(int len) 总结
资源推荐
资源详情
资源评论
一、vector 的初始化
1、默认构造函数
2、拷贝构造函数 copy 区间
3、指定数量和元素值的构造函数
4、指定数量的构造函数
5、拷贝构造函数
二、vector 的初始化-赋值
1、.assign(beg, end) 赋值操作
2、.assign(n, elem) 赋值操作
3、重载等号操作符 operator=
4、直接列表初始化 `Vector<T> {,};`
5、swap 函数
三、数据的增删查改
1、at(int id)接口
2、front()接口
3、back()接口
4、[id]直接取
5、插入函数
6、尾部添加 push_back(ele)
7、尾部删去 pop_back()
8、删区间
9、删指定位置
10、清空
四、其他接口
1、size()成员函数
2、empty()
3、resize(int num)
4、capacity()
5、reserve(int len)
总结
一、vector 的初始化
根据 vector 的以下封装好的构造函数,现在示例每种构造方式的创建:
```cpp
vector 构造函数:
vector<T> v; //默认构造函数
vector(v.begin(), v.end());//将 v[begin(), end())区间中的元素 copy 给对象。
vector(n, elem);//构造函数将 n 个 elem 赋给对象。
vector(n);//构造函数将 n 个 0 或空赋值给对象。
vector(const vector &vec);//拷贝构造函数。
```
1、默认构造函数
创建一个空的 vector。
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> v; // 创建一个空的 vector
std::cout << "Size of vector v: " << v.size() << std::endl; // 输出:Size of vector v: 0
return 0;
}
```
2、拷贝构造函数 copy 区间
假设有一个已存在的 vector,我们想要创建一个新的 vector 并拷贝其中一部分元素。
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> v = {1, 2, 3, 4, 5};
std::vector<int> v2(v.begin(), v.begin() + 3); // 拷贝前 3 个元素
for (int num : v2) {
std::cout << num << " "; // 输出:1 2 3
}
std::cout << std::endl;
return 0;
}
```
3、指定数量和元素值的构造函数
创建一个包含特定数量且**所有元素都具有相同值**的 vector。
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> v(5, 10); // 创建一个包含 5 个 10 的 vector
for (int num : v) {
std::cout << num << " "; // 输出:10 10 10 10 10
}
std::cout << std::endl;
return 0;
}
```
4、指定数量的构造函数
创建一个包含特定数量的 vector,所有元素默认初始化为该类型的默认值(对于基本类型如
int,默认值为 0)。
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> v(5); // 创建一个包含 5 个 0 的 vector
for (int num : v) {
std::cout << num << " "; // 输出:0 0 0 0 0
}
std::cout << std::endl;
return 0;
}
```
5、拷贝构造函数
从另一个已存在的 vector 创建一个新的 vector,作为它的拷贝。
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> v = {1, 2, 3, 4, 5};
std::vector<int> v2(v); // 使用拷贝构造函数创建 v2,它是 v 的拷贝
for (int num : v2) {
std::cout << num << " "; // 输出:1 2 3 4 5
}
std::cout << std::endl;
return 0;
}
```
二、vector 的初始化-赋值
```cpp
vector 常用赋值方式:
assign(beg, end);//将[beg, end)区间中的数据拷贝赋值。
assign(n, elem);//将 n 个 elem 拷贝赋值。
vector& operator=(const vector &vec);//重载=
Vector<T> = {,,,};//直接赋值一个数组
Vector<T> {,,,};
swap(vec);// 与 vec 的元素互换。
```
1、.assign(beg, end) 赋值操作
使用区间迭代器将另一个容器或数组中的数据拷贝到 vector 中。
```cpp
#include <iostream>
#include <vector>
#include <algorithm> // for std::next
int main() {
std::vector<int> v = {1, 2, 3, 4, 5};
剩余15页未读,继续阅读
资源评论
ULTRA??
- 粉丝: 1055
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功