srdja/Collections-C

A library of generic data structures for the C language.

View on GitHub ↗Jump to charts ↓

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 36 minutes ago
Type:Library / SDKCategory(s):Core & Utility LibrariesLanguages & Runtimes
Added to GitGenius on September 23rd, 2026
Created on August 17th, 2014
Open Issues & Pull Requests: 18 (+0)
GitHub issues: Enabled
Number of forks: 333
Total Stargazers: 3,007 (+0)
Total Subscribers: 104 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 7.9 hours
Mean response time: 45.1 hours
90th percentile: 3.4 days
Tracked items: 2

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 4
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 420 days
Stale 30+ days: 2
Stale 90+ days: 2

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Collections-C is a library of generic data structures for the C language.

The library addresses the need for reusable, well-tested data structure implementations in C by providing a collection of containers that store data as void pointers. It includes dynamic arrays, linked lists, hash tables, trees, sets, queues, stacks, priority queues, ring buffers, and ternary search trees. The library also offers sized containers that store arbitrary-length data directly and memory pool implementations for pre-allocated contiguous memory management. Each structure is designed with specific performance characteristics, such as amortized constant-time operations for hash-based containers and logarithmic-time operations for tree-based ones.

Projects using C that need standard data structures without implementing them from scratch should consider this library. It suits applications where developers want to avoid reinventing common containers and prefer a single, tested dependency. The library supports both static and shared library builds on Linux and Windows, with installation to standard system directories available through cmake.

The project maintains a stable codebase with infrequent but deliberate updates to core functionality. Pull requests receive careful review with attention to implementation details and edge cases. Issues are addressed methodically, with maintainers providing detailed feedback on proposed changes. The project prioritizes code quality and correctness over rapid feature addition, with a measured approach to accepting contributions.