c++ STL之所以得到广泛赞誉,也被很多人使用,不只是提供了向vector,string,list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和常用的数据结构操作。(转眼就2021了呀)

vector封装了数组,list封装了链表,map和set封装了二叉树。按照习惯,都有插入,排序,删除,查找操作。

set和map都是关联式容器,特点是增加和删除元素对迭代器的影响很小,除了操作的节点,其他节点没什么影响。

set是用来存储统一数据类型的数据,在set中每个元素都是唯一的,而且能够根据元素值自动进行排序。set中元素的值不能直接被改变。

set和map内部采用的都是红黑树(RB树)平衡二叉树。

两种新的关联容器:

​ unordered_set

​ unordered_map

​ 与set和map不同,内部实现是基于hashtable的,而不是红黑树。