版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangquan2015/article/details/82855761
使用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;
}