# TheAlgorithms/C

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/thealgorithms-c).**

21,735 stars · 4,730 forks · C · gpl-3.0

## Links

- GitHub: https://github.com/TheAlgorithms/C
- Homepage: https://thealgorithms.github.io/C
- awesome-repositories: https://awesome-repositories.com/repository/thealgorithms-c.md

## Topics

`algorithm-challenges` `algorithm-competitions` `algorithms` `c` `community-driven` `computer-science` `data-structures` `datastructures` `education` `educational` `hacktoberfest` `interview` `interview-questions` `learn-to-code` `machine-learning` `machine-learning-algorithms` `mathematics` `search` `sort`

## Description

This project is a comprehensive library of fundamental computer science algorithms and data structures implemented in C. It provides a collection of modular, portable code blocks designed for educational purposes and integration into production software, focusing on procedural execution and direct hardware interaction.

The library distinguishes itself through a focus on low-level systems programming, offering memory-efficient implementations of stacks, queues, linked lists, and trees. It includes specialized suites for cryptographic data protection, audio signal processing, and network communication, allowing developers to perform complex data transformations and system-level tasks using standard, cross-platform interfaces.

Beyond its core algorithmic offerings, the project covers a broad range of utility functions including numerical format conversions and memory management tools. These components are designed to maintain code portability across diverse hardware architectures and operating systems, ensuring consistent behavior in embedded and distributed environments.

## Tags

### Data & Databases

- [Data Structure Implementations](https://awesome-repositories.com/f/data-databases/data-structure-implementations.md) — Provides memory-efficient implementations of fundamental data structures like linked lists, stacks, queues, and trees.
- [List Data Structures](https://awesome-repositories.com/f/data-databases/list-data-structures.md) — Manages efficient memory-based data structures to organize information relationships.

### Education & Learning Resources

- [Fundamental Algorithms](https://awesome-repositories.com/f/education-learning-resources/fundamental-algorithms.md) — Implements a wide range of fundamental computer science algorithms for common logic problems. ([source](https://cdn.jsdelivr.net/gh/TheAlgorithms/C@master/README.md))
- [Algorithm Implementations](https://awesome-repositories.com/f/education-learning-resources/educational-resources/algorithms-theory-academics/cs-theory-foundations/algorithms/general-collections-and-study/algorithm-implementations.md) — Provides practical implementations of algorithmic logic for solving computational problems.
- [Cryptographic Ciphers](https://awesome-repositories.com/f/education-learning-resources/educational-resources/algorithms-theory-academics/cs-theory-foundations/algorithms/cryptography-and-coding-theory/cryptographic-ciphers.md) — Implements cryptographic ciphers for secure data transformation and message obfuscation. ([source](https://thealgorithms.github.io/C/files.html))

### Operating Systems & Systems Programming

- [Data Structures](https://awesome-repositories.com/f/operating-systems-systems-programming/data-structures.md) — Complex information is organized by linking memory addresses directly to create efficient stacks, queues, and trees without high-level overhead.
- [Dynamic Memory Allocation](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/allocation-strategies/dynamic-memory-allocation.md) — Provides manual memory management utilities for precise control over heap resources.

### Programming Languages & Runtimes

- [C Implementations](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/systems-languages/c/algorithm-libraries/c-implementations.md) — Offers a comprehensive library of fundamental computer science algorithms implemented in C for educational and production use.

### Networking & Communication

- [Network Protocol Implementations](https://awesome-repositories.com/f/networking-communication/network-protocol-implementations.md) — Implements standard network communication protocols for distributed application tasks and remote command execution.
- [Network Communication Implementations](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/communication-protocols-standards/network-communication-implementations.md) — Implements standard network communication protocols for distributed application tasks. ([source](https://thealgorithms.github.io/C/files.html))

### Security & Cryptography

- [Cryptographic Algorithms](https://awesome-repositories.com/f/security-cryptography/security/cryptography-and-secrets/cryptographic-primitives-management/cryptographic-algorithms.md) — Includes a suite of fundamental cryptographic algorithms for secure data transformation and message obfuscation.
- [Data Protection](https://awesome-repositories.com/f/security-cryptography/data-protection.md) — Provides cryptographic techniques to protect sensitive information against unauthorized access.

### Software Engineering & Architecture

- [Cross-Platform Development Utilities](https://awesome-repositories.com/f/software-engineering-architecture/cross-platform-development-utilities.md) — Write source code that adheres to universal programming standards to ensure software runs reliably across diverse environments ranging from desktop operating systems to specialized hardware platforms. ([source](https://cdn.jsdelivr.net/gh/TheAlgorithms/C@master/README.md))
- [Cross-Platform Utilities](https://awesome-repositories.com/f/software-engineering-architecture/cross-platform-utilities.md) — Provides portable code blocks for numerical conversion, audio processing, and system tasks across diverse hardware environments.
- [Embedded Systems Development](https://awesome-repositories.com/f/software-engineering-architecture/development-methodologies/application-targets-domains/embedded-systems-development.md) — Develops portable C code optimized for reliable execution in embedded environments.

### Graphics & Multimedia

- [Audio Processing](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-processing.md) — Includes specialized suites for audio signal processing and format transformation. ([source](https://thealgorithms.github.io/C/files.html))

### Scientific & Mathematical Computing

- [Bitwise Manipulation Utilities](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/arithmetic-number-types/multiplication-algorithms/number-theory-algorithms/bitwise-manipulation-utilities.md) — Implements efficient bitwise operations for data transformation and numerical conversion.

### Testing & Quality Assurance

- [Memory Leak Detection](https://awesome-repositories.com/f/testing-quality-assurance/debugging-diagnostics/memory-leak-detection.md) — Provides tools for monitoring and debugging dynamic memory allocation to prevent leaks. ([source](https://thealgorithms.github.io/C/files.html))
