概念:
vector为动态单端数组,只能在一端进行元素添加与弹出,遵循先进后出原则,但支持随机访问
常用操作:
- push_back 插入元素
- pop_back 移除元素
- empty 检查容器是否为空
- size 返回元素个数
- capacity 返回容器容量大小
- [] 访问指定元素
- at 访问指定元素
- front 返回第一个元素
- back 返回最后一个元素
- erase 擦除元素
- clear 清除所有元素
#include <iostream>
#include <vector>
void printVector(std::vector<int>&v)
{
//迭代器访问
for (auto it = v.begin(); it != v.end(); ++it)
std::cout << *it << " ";
std::cout << std::endl;
}
int main()
{
//初始化
std::vector<int> v1{ 10,11,12 };
printVector(v1);
std::vector<int> v2;
//push_back插入元素
for (int i = 0; i < 10; ++i)
v2.push_back(i);
printVector(v2);
//pop_back移除元素,后进先出
v2.pop_back();
v2.pop_back();
printVector(v2);
//返回容器是否为空
if (v2.empty()) {
std::cout << "容器为空" << std::endl;
}
else {
std::cout << "容器元素的个数为:" << v2.size() << std::endl; //返回容器元素的个数
std::cout << "容器的容量为:" << v2.capacity() << std::endl; //返回容器容量的大小
}
//通过[]访问元素
for (int i = 0; i < v2.size(); ++i)
std::cout << v2[i] << " ";
std::cout << std::endl;
//通过at访问元素
for (int i = 0; i < v2.size(); ++i)
std::cout << v2.at(i) << " ";
std::cout << std::endl;
//front返回第一个元素
std::cout << "v2的第一个元素:" << v2.front() << " " << std::endl;
//back返回最后一个元素
std::cout << "v2的最后一个元素:" << v2.back() << " " << std::endl;
//erase擦除元素,参数类型为迭代器
//1.擦除某一位置元素
v2.erase(v2.begin()); //擦除第一个元素
printVector(v2);
//2.擦除某一区间的元素 [begin,end)
v2.erase(v2.begin() + 1, v2.begin() + 3); //擦除第二、第三个元素
printVector(v2);
//clear清除所有元素
v2.clear();
std::cout << "容器的大小为:" << v2.size() << std::endl;
std::cout << "容器的容量为:" << v2.capacity() << std::endl;
printVector(v2);
system("pause");
return 0;
}