Science, Tech, Math › Computer Science Hash libraries for C Programmers Open Source Libraries to Help You Learn to Code Share Flipboard Email Print blackred/Getty Images Computer Science C & C++ Programming PHP Programming Perl Python Java Programming Javascript Programming Delphi Programming Ruby Programming Visual Basic View More By David Bolton David Bolton Computer Science Expert B.A., Computer Science, Queen's University Belfast David Bolton is a software developer who has worked for several major firms, including Morgan Stanley, PwC, BAE Systems, and LCH. Learn about our Editorial Process Updated on July 03, 2019 This page lists a collection of libraries that will help you in programming in C. Libraries here are open source and used to help you store data, without having to roll your own linked list etc data structures. uthash Developed by Troy D. Hanson, any C structure can be stored in a hash table using uthash. Just include #include "uthash.h" then add a UT_hash_handle to the structure and choose one or more fields in your structure to act as the key. Then use HASH_ADD_INT, HASH_FIND_INT and macros to store, retrieve or delete items from the hash table. It uses int, string and binary keys. Judy Judy is a C library that implements a sparse dynamic array. Judy arrays are declared simply with a null pointer and consume memory only when populated. They can grow to use all available memory if desired. Judy's key benefits are scalability, high performance, and memory efficiency. It can be used for dynamically sized arrays, associative arrays or a simple-to-use interface that requires no rework for expansion or contraction and can replace many common data structures, such as arrays, sparse arrays, hash tables, B-trees, binary trees, linear lists, skiplists, other sort and search algorithms, and counting functions. SGLIB SGLIB is short for Simple Generic Library and consists of a single header file sglib.h that provides generic implementation of most common algorithms for arrays, lists, sorted lists and red-black trees. The library is generic and it does not define its own data structures. Rather it acts on existing user-defined data structures via a generic interface. It also does not allocate or deallocate any memory and does not depend on any particular memory management. All algorithms are implemented in form of macros parametrized by the type of data structure and comparator function (or comparator macro). Several further generic parameters such as the name of 'next' field for linked lists may be required for some algorithms and data structures. Cite this Article Format mla apa chicago Your Citation Bolton, David. "Hash libraries for C Programmers." ThoughtCo, Aug. 26, 2020, thoughtco.com/hash-libraries-for-c-programmers-list-958650. Bolton, David. (2020, August 26). Hash libraries for C Programmers. Retrieved from https://www.thoughtco.com/hash-libraries-for-c-programmers-list-958650 Bolton, David. "Hash libraries for C Programmers." ThoughtCo. https://www.thoughtco.com/hash-libraries-for-c-programmers-list-958650 (accessed June 3, 2023). copy citation