vector
是 C++ STL 中的一个常用容器,它可以存储任何类型的数据。vector
本质上是一个动态数组,可以根据需要自动增长或缩小。以下是 vector
的一些常用操作:
- 创建
vector
:可以使用以下方式创建vector
:
#include <vector>
using namespace std;
vector<int> myVector; // 创建一个空的 vector
vector<int> myVector1(5); // 创建一个包含 5 个元素的 vector,元素默认值为 0
vector<int> myVector2(5, 2); // 创建一个包含 5 个元素的 vector,元素默认值为 2
vector<int> myVector3 = {1, 2, 3, 4, 5}; // 创建一个包含 5 个元素的 vector,元素值为 1, 2, 3, 4, 5
- 访问
vector
中的元素:可以使用下标或迭代器访问vector
中的元素。例如:
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> myVector = {1, 2, 3, 4, 5};
cout << myVector[0] << endl; // 输出 1
cout << myVector.at(1) << endl; // 输出 2
return 0;
}
- 向
vector
中添加元素:可以使用push_back()
函数向vector
中添加元素。例如:
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> myVector = {1, 2, 3, 4, 5};
myVector.push_back(6);
for (int i = 0; i < myVector.size(); i++) {
cout << myVector[i] << " ";
}
return 0;
}
输出结果为:1 2 3 4 5 6
。
- 从
vector
中删除元素:可以使用pop_back()
函数从vector
中删除最后一个元素。例如:
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> myVector = {1, 2, 3, 4, 5};
myVector.pop_back();
for (int i = 0; i < myVector.size(); i++) {
cout << myVector[i] << " ";
}
return 0;
}
输出结果为:1 2 3 4
。
- 获取
vector
的大小和容量:可以使用size()
和capacity()
函数获取vector
的大小和容量。例如:
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> myVector = {1, 2, 3, 4, 5};
cout << "Size: " << myVector.size() << endl; // 输出 Size: 5
cout << "Capacity: " << myVector.capacity() << endl; // 输出 Capacity: 5
return 0;
}
- 清空
vector
:可以使用clear()
函数清空vector
中的所有元素。例如:
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> myVector = {1, 2, 3, 4, 5};
myVector.clear();
cout << "Size: " << myVector.size() << endl; // 输出 Size: 0
return 0;
}
- 判断
vector
是否为空:可以使用empty()
函数判断vector
是否为空。例如:
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> myVector = {1, 2, 3, 4, 5};
if (myVector.empty()) {
cout << "Vector is empty." << endl;
} else {
cout << "Vector is not empty." << endl;
}
return 0;
}
输出结果为:Vector is not empty.
(1) 详解C++STL容器系列(一)—— vector的详细用法和底层原理_c++ vector底层-CSDN博客. https://blog.csdn.net/aruewds/article/details/117375364.
(2) C++语言vector容器介绍和示例 - 51CTO博客. https://bing.com/search?q=vector+%e5%ae%b9%e5%99%a8+%e4%bb%8b%e7%bb%8d+%e4%b8%be%e4%be%8b.
(3) Vector 容器简单介绍 - 野生的Lemon柠檬 - 博客园. https://www.cnblogs.com/Yunrui-blogs/p/11075212.html.
(4) C++ STL vector容器详解 - C语言中文网. https://c.biancheng.net/view/6749.html.
(5) [详解-vector] C++必知必会 vector常用各种操作解析 - 知乎. https://zhuanlan.zhihu.com/p/648650828.
(6) 【超详细】C++ vector 详解 + 例题,这一篇就够了 - CSDN博客. https://blog.csdn.net/qq_47733361/article/details/123883414.
(7) C++中的vector容器(保姆级讲解) - 阿里云开发者社区. https://developer.aliyun.com/article/1046397.
(8) C++:vector小指南(附带一些新手错误) - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/336492399.
(9) C++(笔记)浅析vector容器的实例_c++ vector 例子-CSDN博客. https://blog.csdn.net/w_linux/article/details/71600574.