logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

C++哈希表居然无法直接传pair<int,int>类型?如何解决

至此,我们实现了对pair<>类型的储存,现在我来介绍第三个模板参数_Keyeq的作用,它是为了重载=号,像一些内置类型和string,pair<>,已经在类里重载了operator==,那么如果我们想用unordered_set储存自定义类型,我们就必须在自定义类型类中重载一下==运算符,不然容器是无法正常工作的,下面我用一段简洁的代码演示一下。类型的哈希值,决定元素在哈希表中的存储位置(即哪个

#c++#散列表#模板方法模式
AVL树的插入删除详细实现,基于AVL树的map和set简单模板编程实现,包括const迭代器

以上,我们就完成了插入操作,与它不同的是,删除操作就算旋转完了也要继续向上维护父节点,直到整棵树的根部,并且我们如果删除了还要旋转,那就要旋转类似红黑树里的那个"uncle"节点,也就是父亲的另一个节点,如果这个节点不存在删除后是不可能引起旋转的,具体原因依旧可以去找视频看,这里只提供代码。如此操作,我们便使得data适配了一个单一类型以及一个pair类型,我们甚至可以通过继续定义T塞入更多的数据

#c++#数据结构#模板方法模式
到底了