c++ - 需要有关跳过列表的信息

标签 c++ data-structures skip-lists

在像这样的跳过列表中:

skip list

元素 4 在第二个和第三个列表中是否可以访问自己?我问的原因是因为我想弄清楚如何实现跳过列表的删除操作。谢谢

最佳答案

是的,在跳过列表中,每个指针都有某种方式让您到达实际条目。通常,您可以通过让每个指针不指向某些条目中的链表单元格,而是指向条目本身来实现这一点。只要您记得当前所在的深度,就可以通过索引到存储在下一个单元格中的指针数组来沿着链表继续前进。

例如:

struct Cell {
    Cell* pointers[]; // Each points to the root of a new Cell
    Type data;
};

希望这对您有所帮助!

关于c++ - 需要有关跳过列表的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9970902/

相关文章:

c++ - 为模板类定义一个 Sentinel 节点,一个没有默认构造函数的类?

C++:用户定义类的动态数组

c++ - 为什么对我的 IDispatch 对象的所有引用都没有释放?

c++ - 可变百分比显示零值

algorithm - 混合数据结构对效率的好处

algorithm - 发布-订阅系统的设计/代码调度程序

c - 可变长度消息数据的队列缓冲区的种类

c# - SkipList<T> 与 Dictionary<TKey,TValue>

data-structures - 确定性跳过列表自上而下插入中的违规行为

c++ - XCode4 不能在 <> 中包含头文件