目 录
- 线性表概述
- 顺序表(Array-Based List)
- 单链表(Singly Linked List)
- 双向链表(Doubly Linked List)
- 循环链表(Circular Linked List)
- 静态链表(Static Linked List)
- 栈与队列的线性表实现
- C++ 标准库中的线性表:
std::vector
&std::list
- 泛型算法与迭代器设计
- 异常安全、RAII 与智能指针
- 性能基准测试(Benchmark)
- 结语与展望
1. 线性表概述
线性表(Linear List)是 n(n≥0)个数据元素的有限序列,记作
L = (a₀, a₁, …, aₙ₋₁)
其逻辑特征为“除首元素无前驱、末元素无后继外,其余每个元素有且仅有一个直接前驱和一个直接后继”。在物理存储层面,可分:
- 顺序存储:数组
- 链式存储:链表(单向、双向、循环、静态)
C++ 作为强类型、零开销抽象语言,既能通过裸指针与手动内存管理实现底层链表,又能借助模板元编程提供类型安全、泛型化的容器。本章将循序渐进,手写所有经典数据结构,并对比 STL 实现,最终给出性能测试与