一、vector 简单介绍
vector是表示可以改变大小的数组的序列容器。
就像数组一样,向量使用连续的存储位置作为元素,这意味着它们的元素也可以使用常量指向其元素的“下标”来访问,并且与数组一样有效。但与数组不同,它们的大小可以动态变化,其存储由容器自动处理。
在使用它时, 需要包含头文件 vector: #include<vector>
二、vector 的声明和初始化
vector<int> x; // 定义了一个空的向量(尖括号中为元素类型名)
vector<int> x(5); // 定义了一个有5个整型元素的向量,但没有给出初值
vector<int> x(10, 2); // 定义了一个有10个整型元素的向量,每个元素的值为2。
vector<int> x = {0, 1, 2, 3}; // 定义了一个有4个整型元素的向量,元素的值依次为:0,1,2,3
三、vector 常用操作
// vector<int> x = {1, 2, 3};
x.push_back(4); // 在 x 的最后一个元素后插入一个元素,其值为5。如x为1,2,3,插入元素后为1,2,3,5
x.pop_back(); // 删除 x 向量的最后一个元素。如x为1,2,3,删除元素后为1,2
x[0] = 100; // 将 x 向量的第0个元素的值改为 100
x.begin(); // 返回一个迭代器,它指向 x 的第一个元素
x.end(); // 返回一个迭代器,它指向 x 的最后一个元素的下一个位置
x.insert(x.begin()+1, 100); // 在 x 的第1个元素的位置插入一个值为100的元素。如x为1,2,3,插入元素后为1,100,2,3
x.size(); // 返回 x 中元素的个数
四、对 vector 的常用操作
// vector<int> x = {2, 1, 3};
reverse(x.begin(), x.end()); // 将 x 中所有元素倒置(反转), 如x为2,1,3,倒置后为3,1,2
sort(x.begin(), x.end()); // 对 x 中的元素从小到大排序, 如x为2,1,3,排序后为1,2,3