Rust no_std and generic implementations of Advanced Data Structures by Peter Brass.
The original C implementations are provided by the author. The Rust implementations are documented on GitHub pages.
The implementations use unsafe Rust and are tested with Miri on the CI.
The BlockAllocator struct provides dynamic allocations through the Nodable trait.
Nodable structs: Node, BiNode, TreeNode
Stack implementations: ArrayStack, BoundedStack, UnboundedStack, LinkedListStack, ShadowCopyStack
Queue implementations: BoundedQueue, LinkedListQueue, CircularLinkedQueue, DoubleLinkedQueue
Tree implementations: SearchTree