Implementation of common data structures in C