package | description | license |
---|---|---|

jmi2k/disjoint.h | disjoint types (aka sum types) | MIT |

yrmt/arraylist | doubly linked list based on BSD TAILQ | MIT |

clibs/hash | hash library built on zhash | MIT |

clibs/list | simple doubly linked list | MIT |

clibs/red-black-tree | Generic red-black tree library (by Julienne Walker). | MIT |

thlorenz/sync-stream.c | synchronous stream implementation | MIT |

troydhanson/uthash | C macros for hash tables and more | Unlicensed |

willemt/cbuffer | circular buffer | BSD |

willemt/bipbuffer | circular buffer alternative | BSD |

willemt/heap | heap priority queue | BSD |

willemt/pseudolru | pseudo least recently used cache | BSD |

willemt/bag | data structure which only has put and randomised take operations | BSD |

willemt/bitfield | easily get and set bits in a bitfield | BSD |

willemt/array-avl-tree | self balancing tree | BSD |

willemt/linked-list-hashmap | hashmap that uses linked lists for managing collisions | BSD |

willemt/quadratic-probing-hashmap | hashmap that uses quadratic probing (open addressing) for managing collisions | BSD |

rxi/vec | dynamic array | MIT |

jlcordeiro/cmap | map with string keys | MIT |

willemt/skiplist | Dictionary implemented through a skiplist | BSD |

willemt/linked-list-queue | Queue using a linked list | BSD |

willemt/meanqueue | An integer queue that calculates mean in O(1) | BSD |

willemt/chunkybar | Data structure that efficiently represents multi-piece progress bars | BSD |

willemt/farraylist | An arraylist that doesn't shift items so you can have "holes" between slots | BSD |

mbucc/cqueue | OpenBSD's queue(3): linked lists and queues. | ISC and BSD |

clibs/lmdb | Symas Lightning Memory-Mapped Database (LMDB) | The OpenLDAP Public License |

willemt/arrayqueue | Queue implemented using an array | BSD |

ajaymt/dict.c | Simple dictionary implemented through a linked list | MIT |

ajaymt/list.c | Simple linked list | MIT |

skeeto/lstack | A lock-free stack using C11's new stdatomic.h features | Unlicense |

clehner/ll.c | Transparent linked lists | LGPL-3.0+ |

kellydunn/libkld | Personal implementations of common datastructures. (List, Vector, Graph, Matrix, Tree, etc) | Unlicensed |

willemt/duraqueue | Queue built to be durable under failure | BSD |

gioyik/mapc | C lib for mapping | MIT |

neylsongularte/simple-linked-list-c | Linked list implementation | Unlicensed |

htmk/fat-array | Dynamic arbitrary typed array using fat pointers and macros. | MIT |

laserswald/dlist | Type safe double linked list in the style of BSD's queue.h | Unlicensed |

catb0t/sparse | Sparse arrays implemented by run-length-encoding regions of zeroes | GPL v3 |

arablocks/flat-tree.c | A series of functions to map a binary tree to a list ported from flat-tree. | MIT |

jwerle/libmerkle | A C99 library for generating Merkle trees. | MIT |

rikvdh/zabuffer | A Zero-allocation buffer handling library for low-memory applications. | MIT |

rikvdh/zringbuf | A Zero-allocation ring-buffer library for low-memory applications. | MIT |