STL中的序列式容器主要包括 vector 向量容器、list 列表容器以及 deque 双端队列容器。
vector 实现的是一个动态数组。
定义在 <vector> 头文件中。
#include <iostream>
#include <vector>
using namespace std;
int main()
{//初始化一个空vectorvector<char> v1;//向容器中的尾部添加字符v1.push_back('S');//获取容器中的元素个数printf("元素个数为:%d\n", v1.size());//迭代器遍历容器for (auto i = v1.begin(); i < v1.end(); i++) {cout << *i << " ";}cout << endl;//向容器开头插入字符v1.insert(v1.begin(), 'd');cout << "首个元素为:" << v1.at(0) << endl;return 0;
}
常用函数
begin() | 返回指向容器中第一个元素的迭代器。 |
end() | 返回指向容器最后一个元素所在位置后一个位置的迭代器,通常和 begin() 结合使用。 |
size() | 返回实际元素个数。 |
max_size() | 返回元素个数的最大值。 |
empty() | 判断容器中是否有元素,若无元素,则返回 true;反之,返回 false。 |
reserve() | 增加容器的容量。 |
at() | 使用经过边界检查的索引访问元素。 |
front() | 返回第一个元素的引用。 |
back() | 返回最后一个元素的引用。 |
push_back() | 在序列的尾部添加一个元素。 |
pop_back() | 移出序列尾部的元素。 |
insert() | 在指定的位置插入一个或多个元素。 |
erase() | 移出一个元素或一段元素。 |
clear() | 移出所有的元素,容器大小变为 0。 |
swap() | 交换两个容器的所有元素。 |
emplace() | 在指定的位置直接生成一个元素。 |
emplace_back() | 在序列尾部生成一个元素。 |