Abstract-Data-Types
sc
Abstract-Data-Types | sc | |
---|---|---|
4 | 17 | |
34 | 2,168 | |
- | - | |
5.3 | 6.3 | |
7 months ago | about 1 month ago | |
C | C | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Abstract-Data-Types
-
Sources to learn Data structure implementation in C
This GitHub repo: https://github.com/pavlosdais/Abstract-Data-Types is great! It uses void pointers and dynamic memory to store any kind of data type. Also, I'm currently working on a repository myself! Here's the link: https://github.com/saulvaldelvira/Generic-Data-Structures It also has the same approach, void pointers and dynamic memory, for versatility. Those are the ones I known. About documentation/Books, i don't really know about any that are focused on C. What I use for my repo is basically my notes for university. But the internet is huge! There are tons of Data Structures tutorials focused on C. Good Luck!
-
Data structures library
It is primarily made for learning purposes so if anyone is interested in taking a look the repository to it can be found here.
-
Abstract Data Structures Library
It is created in an abstract way by using void pointers. Also, it's made mainly for learning purposes but if anyone is interested in using it and/or helping me to find bugs here is a link to the repository.
-
C Data Structures Library
They're all written in an abstract way using void pointers so they are applicable to any type of data and a library containing them is provided. If anyone wants to use it, provide feedblack and/or contribute to it it the repository can be found here: https://github.com/pavlosdais/Abstract-Data-Types
sc
- A simple hash table in C
- Advice for bigger c projects?
- sc - Common libraries and data structures for C
-
Hacker News top posts: May 17, 2022
Common libraries and data structures for C\ (107 comments)
-
Common libraries and data structures for C
Can someone tell me what is this line from sc_signal.c:247 in sc/signal/
If the way it is used requires the user to break the abstraction/encapsulation and manually buffer some fields in order not to break the data structure and leak memory, I would call that a bug.
There is one use of sc_array_clear() in the test code [1] which really makes it look as if it is being used in a way that I think (again, I haven't single-stepped this code, only read it) leaks memory.
I agree on the pain of everything being macros, it's more pain than it's worth I think and will likely lead to code duplication (and more pain in debugging, probably).
I would even go so far as to think that this kind of single-file design, where each file is independent of the others, makes it harder and more annoying to implement more complicated data structures.
[1]: https://github.com/tezc/sc/blob/master/array/array_test.c#L3...
-
Uthash – C macros for hash tables and more
https://github.com/tezc/sc/tree/master/map
For those who are interested in faster hashmaps, I tried bunch of hashmaps and this one performs better than others. This is for C. Maybe C++ has better hashmaps.
What are some alternatives?
dslib - :herb: A library of "connected" data structures
frr - The FRRouting Protocol Suite
heap-exploitation - This book on heap exploitation is a guide to understanding the internals of glibc's heap and various attacks possible on the heap structure.
wazero - wazero: the zero dependency WebAssembly runtime for Go developers
METIS - METIS - Serial Graph Partitioning and Fill-reducing Matrix Ordering
chibicc - A small C compiler
leetcode-swift - TOP 200 #Dev 🏆 LeetCode, Solutions in Swift, Shell, Database (T-SQL, PL/SQL, MySQL), Concurrency (Python3). @ S. Leschev. Google Engineering Level: L6+
stage0 - A set of minimal dependency bootstrap binaries
hatrack - Fast, multi-reader, multi-writer, lockless data structures for parallel programming
pottery - Pottery - A container and algorithm template library in C
data-structures - A collection of powerful data structures
gcc