{"id":31702039,"url":"https://github.com/bastidood/c-data-structures","last_synced_at":"2025-10-08T21:11:15.194Z","repository":{"id":314358743,"uuid":"861841351","full_name":"BastiDood/c-data-structures","owner":"BastiDood","description":"A collection of reference implementations for basic data structures written in C.","archived":false,"fork":false,"pushed_at":"2024-10-15T07:50:21.000Z","size":95,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-12T02:34:46.031Z","etag":null,"topics":["c","computer-science","data-structures"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BastiDood.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-09-23T15:45:45.000Z","updated_at":"2024-10-15T07:50:25.000Z","dependencies_parsed_at":"2025-09-12T02:34:48.315Z","dependency_job_id":"67cde663-da9d-460e-b8c7-60d8aca36761","html_url":"https://github.com/BastiDood/c-data-structures","commit_stats":null,"previous_names":["bastidood/c-data-structures"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/BastiDood/c-data-structures","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BastiDood%2Fc-data-structures","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BastiDood%2Fc-data-structures/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BastiDood%2Fc-data-structures/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BastiDood%2Fc-data-structures/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BastiDood","download_url":"https://codeload.github.com/BastiDood/c-data-structures/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BastiDood%2Fc-data-structures/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000716,"owners_count":26082837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","computer-science","data-structures"],"created_at":"2025-10-08T21:11:10.822Z","updated_at":"2025-10-08T21:11:15.186Z","avatar_url":"https://github.com/BastiDood.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Basic Data Structures in C\n\nThis repository contains reference implementations for various basic data structures in C. The public interfaces are intentionally incomplete to encourage the reader to fill in the blanks and implement their own extensions.\n\n* [Slice](./src/slice/)\n* [Stack](./src/stack/)\n* [Queue](./src/queue/)\n* [Binary Heap](./src/binary-heap/)\n* [AVL Tree](./src/avl-tree/)\n* [Fenwick Tree](./src/fenwick-tree/)\n* [Singly-Linked List](./src/singly-linked-list/)\n* [Doubly-Linked List](./src/doubly-linked-list/)\n\n## Running the Code\n\nThis project uses the [CMake] (v3.30+) build system generator for cross-platform builds. I personally prefer the multi-configuration [Ninja] (v1.12+) build system, but feel free to use your system's default (e.g., Microsoft Visual Studio Compiler, Xcode, and Make).\n\n[CMake]: https://cmake.org/\n[Ninja]: https://ninja-build.org/\n\nFor convenience and widest compatibility, we use the [Just] (v1.35+) task runner with the cross-platform [Nushell] (v0.97+) shell to run common commands. However, it is totally possible to run the raw commands yourself. Consult the [`justfile`] for more details.\n\n[Just]: https://just.systems/\n[Nushell]: https://www.nushell.sh/\n[`justfile`]: ./justfile\n\n```bash\n# Generate the build system configurations in `.build/`\njust config\n\n# Build all targets in debug mode\njust build\n\n# Build all targets in release mode (if supported by the generator)\njust build Release\n\n# Run all unit tests\njust test\n```\n\n## Linting the Codebase\n\n```bash\n# Run Clang Format as the formatter.\njust fmt     # check\njust fix-fmt # fix\n\n# Run Clang Tidy as the linter.\njust lint     # check\njust fix-lint # fix\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbastidood%2Fc-data-structures","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbastidood%2Fc-data-structures","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbastidood%2Fc-data-structures/lists"}