数组作为基本的数据结构,有静态数组和动态数组两种类型。比赛中,空间足够,能用静态数组就静态,不然就用vector,最后才是用指针管理动态数组。
vector是一个模板类,其中的元素连续存储。
使用方法如下:
- 定义:常用的定义方法如下:
例子 | 说明 |
---|---|
vector a; | 默认初始化,a空 |
vector b(a); | 用a定义b |
vector a(100); | a有100个默认初始化为0的元素 |
vector a(100, -1); | a用100个值为-1的元素 |
vector a(100, “hello”); | a有100个值为"hello"的元素 |
vector a; | a可以保存自定义的结构体类型 |
- 常见操作方法:
例子 | 说明 |
---|---|
a.push_back(100); | 尾部插入一个元素 |
a.emplace_back(100); | 尾部构造一个元素 |
a.size() | 元素个数 |
bool a.empty() | 是否为空 |
a.insert(a.begin() + i, k); | 插入一个元素 |
a.insert(a.end(), k, j); | 在尾部插入k个值为j的元素 |
a.pop_back(); | 删除尾部 |
a.erase(a.begin() + i, a.end() + j); | 删除区间 |
a.erase(a.begin() + i); | 删除元素 |
a.resize(n); | 调整大小 |
a.clear(); | 清空 |
reverse(a.begin(), a.end()); | 翻转 |
sort(a.begin(), a.end()); | 排序 |
来源:CSDN
作者:myRealization
链接:https://blog.csdn.net/myRealization/article/details/104311875