创建
vector<int> vec;:声明一个空的整数类型的vector。vector<int> vec(n);:声明一个包含 n 个元素的整数类型的vector,每个元素初始化为 0。vector<int> vec(n, val);:声明一个包含 n 个元素的整数类型的vector,每个元素初始化为 val。vector<int> vec = {1, 2, 3, 4, 5};:声明并初始化一个整数类型的vector,包含指定的元素。
访问
vec[i]:访问索引为 i 的元素。vec.at(i):访问索引为 i 的元素,并进行边界检查。vec.front():访问第一个元素。vec.back():访问最后一个元素
常用方法
vec.push_back(val):在末尾插入元素 val。vec.pop_back():删除末尾元素。vec.insert(vec.begin() + pos, val):在指定位置 pos 插入元素 val。vec.erase(vec.begin() + pos):删除指定位置 pos 的元素。vec.clear():删除所有元素。vec.size():返回vector中的元素个数。vec.empty():检查vector是否为空。vec.resize(new_size):重新设置vector的大小为 new_size。vec.reserve(new_capacity):预留空间,以减少多次增加大小时的重新分配的次数。vec.swap(other_vec):交换两个vector的内容。vec.assign(other_vec.begin(), other_vec.end()):用另一个vector赋值。
算法题示例

代码模拟:
class Solution {
public:
vector<vector<int>> generateMatrix(int n) {
int t = 0,b = n-1,l=0,r=n-1;
int nums = 1;
vector<vector<int>> res(n,vector<int>(n,0));
while(nums<=n*n){
for(int j = l;j<=r;j++) res[t][j]=nums++;
t++;
for(int j = t;j<=b;j++) res[j][r] = nums++;
r--;
for(int j = r;j>=l;j--) res[b][j] = nums++;
b--;
for(int j = b;j>=t;j--) res[j][l] = nums++;
l++;
}
return res;
}
};

本文详细介绍了C++中vector容器的声明、初始化、元素访问以及一系列常用的方法,如添加、删除元素、调整大小等,并给出了一个算法题示例,用于生成一个矩阵。
936

被折叠的 条评论
为什么被折叠?



