使用STL实现vector向量
这里将借助STL的vector(向量)实现动态数组,并用它来管理数据。
| 函数 | 功能 | 复杂度 |
|---|---|---|
| size() | 返回向量的元素数 | O(1) |
| push_back(x) | 在向量尾添加元素x | O(1) |
| pop_back() | 删除向量的最后一个元素 | O(1) |
| begin() | 返回指向向量开头的迭代器 | O(1) |
| end() | 返回指向向量尾的迭代器 | O(1) |
| insert(a,x) | 在向量的位置a处插入元素x | O(n) |
| erase(a) | 删除向量中位置a的元素 | O(n) |
| clear() | 删除向量中所有元素 | O(n) |
#include<iostream>
#include<vector>
using namespace std;
void print(vector<double> V) {
for (int i = 0; i < V.size(); i++) {
cout << V[i] << " ";
}
cout << endl;
}
int main() {
vector<double> V;
V.push_back(0.1);
V.push_back(0.2);
V.push_back(0.3);
V[2] = 0.4;
print(V);//0.1 0.2 0.4
V.insert(V.begin() + 2, 0.8);
print(V);//0.1 0.2 0.8 0.4
V.erase(V.begin() + 1);
print(V);//0.1 0.8 0.4
V.push_back(0.9);
print(V);//0.1 0.8 0.4 0.9
system("pause");
return 0;
}
本文详细介绍并演示了使用STL中的vector向量实现动态数组的过程。通过具体代码实例,展示了vector的基本操作,如添加、删除元素,以及插入和清除等方法的使用,帮助读者深入理解vector的工作原理。
954

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



