一.递归版的二叉树插入如图采用递归的方式比直接的方式要简单的好多之前的方法见上一篇文章但是递归也是有坏处的当递归的太过于深入就会导致溢出二.key——value的写法1. 定义这里的本质就是之前key就代表是一个索引value是一个附加值这里与我们接下来要讲的有很大的联系二者大部分是相同的但也有少量的部分是不一样的例如输出2.使用如图这就是一个keyvalue的典型用法三.数据库里面的setmap1.set1.1定义核心用法就是存储一个数组输出的时候自己会排好序升序并且自动剔除里面的重复数据输出的结果是1.2使用函数补充两个函数插入删除然后就是范围for都是比较基础的函数运行结果1.3查找函数1.3.1find运行结果1.3.2count1.4lower_bound/upper_bound如图输出结果这个主要的目的就是查找一个数据的区间2.multiset和set唯一的差别就是可以运行重复的值2.1代码2.2结果3.map3.1 初始化第一种方法是借助pair来进行初始化第二种方法就是直接这样3.2插入函数依旧三种方法3.3结果可以发现这个也是按照顺序来的3.4修改结果first是索引这个是不可以修改的3.5结构化绑定c17可以使用就是一个简单的范围for方便一点或者这样写每个都可以兼容4.multimap4.1差异在普通的map中重复插入会导致插入失败也就是在key相同的情况下因为普通的map是不允许重复出现的所有就有了multimap结果4.2改正结果如图这样就可以啦