This is a collection of elementary data structures implemented purely using the C standard library. Working on this was an excellent opportunity to learn inside and out the underlying CS principles that higher-level languages let you take for granted. While this project is mainly a learning experience, I've also designed the data structures for practical use.
Currently, the project consists of the following data structures:
- Doubly linked list
- Array
- Vector
- Stack, queue, and deque based on the linked list from above
- Ordered set with an underlying binary search tree
Add the following containers:
- Ordered map
- Unordered set and map with an internal hash table
Revisions:
- Improve the ordered set's performance using a self-balancing tree