libsteel is a strong data structures library that gives you control without costing you much.
C++ has the STL which is pretty ok. But C doesn't have templates like C++ does and the STL isn't always as perfomant as it could be because of templating. Introducing steel, an abstract data structures library that allows you to store any kind of data you'd like while still controlling the layout of the data. Steel is strong and provides great scafolding on which you can build a rock solid application while not requiring that you to rewrite a specialized data structure for each new data type your application uses.
libsteel is young and we're still getting a feel for how we wanna do things. Bear with us while we solidify things.
The following data structures are in the process of being implemented/have been implemented.
- Singly linked list with a head and a tail.
- AVL tree.
- Doubly Linked List
- Circularly Linked List
- Skip List
- Red Black Tree
- Kd-tree
- Treap
- Hash Map
- Dequeue
- Basic Queue
- Basic Stack
- Priority Queue
- Vector
- Heaps
- Graphs
libsteel is a joint effort between the awesome Dave Majnemer and Kurtis Nusbaum.
libsteel is licensed under the Apache Version 2.0 License
Is there a data structure you would like that isn't on here? Did we screw up? Would you just like to tells us that we're the bee's knees? Talk to us! We're in the #steel channel on irc.freenode.net:6667.