C++ STL 向量(Vector)
vector 容器是 STL 中最常用的容器之一,它和 array 容器非常类似,都可以看做是对 C++ 普通数组的 “升级版”。不同之处在于,array 实现的是静态数组(容量固定的数组),而 vector 实现的是一个动态数组,即可以进行元素的插入和删除,在此过程中,vector 会动态调整所占用的内存空间,整个过程无需人工干预。
vector 常被称为向量容器,因为该容器擅长在尾部插入或删除元素,在常量时间内就可以完成,时间复杂度为 O(1);而对于在容器头部或者中部插入或删除元素,则花费时间要长一些(移动元素需要耗费时间),时间复杂度为线性阶 O(n)。
vector 语法
使用 vector 容器,必须先引入 <vector>
头文件。
#include <vector>
std::vector<type> values;
下面代码演示了如何创建并使用 vector 容器:
#include<iostream>
#include<vector>
using namespace std;
int main(void)
{
vector<string> v1;
v1.push_back("GetIoT.tech ");
v1.push_back("C++ STL");
for (vector<string>::iterator itr=v1.begin(); itr!=v1.end(); ++itr)
cout<< *itr;
return 0;
}
执行 g++ main.cpp && ./a.out
编译运行以上程序,输出结果如下:
GetIoT.tech C++ STL