redis使用java写的
redis 的 sort set底层是使用一种叫做跳表的数据结构 先让我们看一下他长什么样子
接着聊;
是这样的哈,sort set 保证有序不重复 ,里面会规定一个score 来确定顺序
head使用的是 有32层的一个节点。 其他的节点都是随机产生的但是不会多于32层。
然后他们之间使用指针这样指向。
比如要查找某个数 比如30
首先head从第一层开始找,然后找到了20, 发现比30小,然后当前节点 = 20这个结点,然后20在从第一层开始找。然后发现为null 就往下走一层 ,一直走到30.。
当他要查插入的时候也是这样 就是找到那个 大于左边 小于右边的位置。 然后进行指针的移动。就想单链表一样。很简单的。
只不过多了好几个指针而已
删除也是一样的。