链表数据结构的多种实现,从简单到复杂逐步演进,包含 6 个版本:
-
first.rs: 最基础的栈式单链表
- 只有
push和pop操作 - 使用
Box<Node>和Option的组合
- 只有
-
second.rs - fifth.rs: 中间版本,逐步改进
-
sixth.rs: 完整的生产级双向链表实现
- 支持双向遍历 (
Iter,IterMut,IntoIter) - 游标操作 (
CursorMut) - 支持列表分割和合并 (
split_before,split_after,splice_before,splice_after) - 实现了所有标准 trait (
Debug,Clone,PartialEq,Eq,PartialOrd,Ord,Hash,Send,Sync) - 使用
NonNull<T>进行 unsafe 优化
- 支持双向遍历 (
- 遵循 Rust 标准命名规范:结构体和枚举使用 CamelCase,函数和变量使用 snake_case
- 测试代码写在同文件的
#[cfg(test)] mod tests块中 - unsafe 代码块需要有 SAFETY 注释说明安全性保证