%forward 数组越界访问
1nchy opened this issue · comments
Node 节点的 %forward 变量的内存是构造函数中分配的,且大小并不是最大值 %_max_level。
插入节点时,特别是当 %random_level 大于 %_skip_list_level,更新路径上各节点 %forward 时,并没有重新分配内存,而是直接下标操作,看起来有越界的问题?
(各节点 %forward 数组长度一定是小于等于 %_skip_list_level 的)
哦,我明白了。
除了 头部引导节点以外,其他节点的 %forward 数组长度 在插入/删除操作中,都是不会发生变化的。所以在新建节点时,将数组长度定下保持不变是可以的。
your code is nice, but it's mine later :)