
数据结构
文章平均质量分 92
zhcblog
从事云计算分布式存储相关工作
展开
-
无锁数据结构 ---- 栈实现
无锁数据结构,即不使用任何锁机制实现可以多线程并发访问的数据结构。相比较有锁数据结构有如下优缺点:实现无锁数据结构,最好不要一开始就直接想着去如何实现无锁数据结构,因为这样能难考虑全面,可以以最简单的单线程栈开始,然后慢慢修改成无锁栈,下面以最简单的单线栈开始。原创 2023-06-21 17:41:48 · 1356 阅读 · 0 评论 -
queue && deque
一、queue queue是一种先进先出的数据类型,有头部和尾部,头部负责数据的出队,尾部负责数据的入队。不支持遍历操作 数据操作 pop(): 从队列的头部弹出数据 push(): 在队尾压入数据 front(): 获取队头数据 back(): 获取队尾数据 size(): 返回队列里面元素个数 empty(): 判断元素是否为空 #include <iostream> #...原创 2020-03-24 22:01:17 · 156 阅读 · 0 评论 -
堆结构实现
堆结构介绍 堆是一种数据结构,在逻辑上是一颗完全二叉树,在存储上是一个数组。堆有大顶堆、和小顶堆之分,大顶堆:对于每个父节点而言,其左右子节点都是小于父节点的,所以根节点也就是堆顶保存的是堆内最大的元素;小顶堆:每个父节点的值都是小于子节点的,堆顶保存堆内最小的元素。 堆的存储 上面已经介绍了堆是用数组来存储的,但是怎么来存呢?其实就是把一棵完全二叉树按层遍历后的顺序依次放入一个数组里面是一样的,...原创 2020-03-24 21:57:02 · 275 阅读 · 0 评论