A simple implementation of C++ Standard Library containers for study rather than production. All the data structures are provided with iterator support, but currently have no plan to support allocator.
Linear Data Structure:
- Vector
- List
- Queue (TODO)
- Stack (TODO)
- Binary Heap (Priority Queue)
- Hash Map (TODO)
Tree Data Structure:
- Binary Tree (TODO)
- N-nary Tree (TODO)
- Binary Search Tree
- AVL Tree (TODO)
- Black-red Tree (TODO)
- AA Tree (TODO)
- Segment Tree (Range Minimum Query) (TODO)
- Trie (TODO)
Graph Data Structure:
(TODO)
Though most (if not all) of containers classes are template classes, I still separate the header and implementation in different files for cleaner interface.
Most of the work can be referred to:
- Weiss M. A., Data Structures and Algorithm Analysis in C++.
- Luis Sempe, User Interface Programming for Games.
- 俞勇, 数据结构 **与实现.
- Microsoft, Visual C++ Standard Template Library.
- SGI, Standard Template Library, http://www.sgi.com/tech/stl/.