一、vector
为了节省空间,有时我们会使用动态数组vector。
定义动态数组
vector<类型名>变量名
vector<int>que //定义que为一个int类型的动态数组
vector<char> a //定义 a 为一个char 类型的动态数组
vector<data> c //其中data为自定义的数据类型,可以为结构体
指令
a[i] ---- 返回动态数组中的第i个元素
a.empty() --- 若动态数组为空,则返回true,否则返回false
a.size() --- 返回动态数组中元素的个数
a.resize() --- 修改动态数组大小
a.push_back() --- 向动态数组尾部插入一个元素
a.pop_back() --- 删除动态数组尾部的一个元素
a.begin() --- 返回指向vector头部的迭代器(指针)
a.end() --- 返回指向vector尾部元素的后一个元素的迭代器(指针)
二、set
set作为一个容器也是用来存储同一数据类型的数据类型,并且能从一个数据集合中取出数据,在set中每个元素的值都唯一,而且系统能根据元素的值自动进行排序(从小到大,改变可以重载运算符)。应该注意的是set中数元素的值不能直接被改变。
指令
begin()--- 返回set容器的第一个元素
end() --- 返回set容器的最后一个元素
clear() --- 删除set容器中的所有的元素
empty() --- 判断set容器是否为空
max_size() --- 返回set容器可能包含的元素最大个数
size() --- 返回当前set容器中的元素个数
rbegin --- 返回的值和end()相同
rend() --- 返回的值和rbegin()相同
三、map
Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道
定义
Map<int, string> mapStudent;