聊聊C++ stl_tree

4 篇文章 0 订阅
4 篇文章 0 订阅

  不同于Hashmap的无序特性,BST(Binary Search Tree)按照key排序,C++里面的BST实现是stl_tree,其基于BST的变种-红黑树。std::map基于stl_tree来实现,所以了解stl_tree的实现细节有助于帮助我们理解标准库的实现,在平时的开发中更有把握与底气。本文介绍stl_tree的以下几个实现细节,并辅助代码、图文,希望对大家的工作及学习有所帮助。
  1、stl_tree中的node结构是什么样的、怎么提取key与value?
  2、比较器对象该如何实现?
  3、怎么保证key唯一?
  4、迭代器的结构、遍历顺序、自增与自减操作是怎么实现的?

  先看一张stl_tree内部结构图。
在这里插入图片描述

原文链接:聊聊C++ stl_tree

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值