1、vector
2、string
3、map,存储pair(键值对)的容器
map的特点:
1、有序性,键(key)默认是以升序的方式排列。
2、关联
3、映射
4、键(key)是唯一的,值(value)可以相同。
5、map内部的算法属于红黑树,效率非常高,查找速度非常快。
6、缺点是空间的占用率比较高,每一个节点都有一个父集和子集。 分配器 allocator
#include //包含头文件
int main()
{
map maps; //第一种声明,初始化方式
map maps2{{1,"ddd"},{5,"ggg"}}; //第二种声明,初始化方式
maps[10]="sss"; //赋值
maps.insert(make_pair(98, "mapmap")); //第一种插入方式
maps.insert({{15,"xxx" }, { 26,"jkh"}}); //第二种插入方式
maps.insert(pair(1,"mapmap")); //第三种插入方式
maps.insert(map::value_type(6, "mapmap")); //第四种插入方式
maps.at(10); //获取value(second)与maps[10]一样,也是获取value(second)
maps.count(10); //是否包含这个key(first),返回0表示不包含,返回1表示包含。
maps.size(); //获取尺寸大小
maps.erase(10); //删除
auto mapValue = maps[15]; //获取值
auto c2 = maps.equal_range(26); //获取key(first)和value(second)
map ::iterator it=maps.find(15); //查找,返回一个迭代器
//第一种遍历方式
for (auto& Tmp :maps)
{
Tmp.first; //获取key
Tmp.second; //获取value
//UE4的获取key,value的方式
//Tmp.Key //获取key
//Tmp.Value //获取value
}
//第二种遍历方式
for (const pair& Tmp : maps)
{
Tmp.first; //key
Tmp.second; //value
}
//第三种遍历方式
for (map ::iterator it=maps.begin();it!=maps.end();it++)
{
it->first; //key
it->second; //value
}
}
4、双向链表
5、queue队列
6、 stack栈
7、forward_list单向链表
8、优先级队列
9、multiset
10、mulitmap
11、unorderred_map(无序的map)
unorderred_map的特点:
1、无序的。
2、内部是哈希,哈希比红黑树速度更快。
3、建立哈希表的时候比较耗时间。
#include //包含头文件
int main()
{
unordered_mapumap; //初始化
umap[45] = 55; //插入
umap.insert(make_pair(1,10)); //插入
int element=umap.at(1); //获取value值
element=umap[3]; //获取value值
}
12、unorderred_multimap(无序的multimap)
#include //包含头文件
int main()
{
unordered_multimapunMultiMap;
bool isEq=unMultiMap.key_eq()(1,10); //判断key是否相等
}
13、unordered_set(无序的set)
与set的区别
set是有序的。
unordered_set是无序的。
#include
#include //包含头文件
int main()
{
set nset; //红黑树的平衡二叉树
nset.insert(4653);
nset.insert(4148);
nset.insert(7672);
nset.insert(4621);
nset.insert(456786);
nset.insert(458);
unordered_setuset; //哈希
uset.insert(4653);
uset.insert(4148);
uset.insert(7672);
uset.insert(4621);
uset.insert(456786);
uset.insert(458);
}
set是有序的
unordered_set是无序的。
14、unordered_multiset(无序的multiset)