This repository contains all the projects I completed during my journey at 42.
Each project focuses on low-level programming, problem-solving, algorithms, and building a strong understanding of how things work under the hood.
All projects follow 42 Norm, are written in C so far, and are developed/tested in a Linux environment.
For a more detailed description of each project, please refer to the README files in their respective folders within this repository.
- Libft
Reimplementation of essential C standard library functions to build a reusable personal library.
-
ft_printf
Custom implementation of theprintffunction, handling variadic arguments and multiple format specifiers. -
get_next_line
A function that incrementally reads from a file descriptor using a persistent buffer, reconstructs full lines across multiple reads, and safely manages memory until EOF. -
push_swap
A constrained sorting project that explores algorithmic optimization using two stacks, a limited set of operations and sorting algorithms with different complexities. It implements multiple strategies (radix sort, bucket-based approaches, and adaptive selection via disorder metrics) to minimize operation count and analyze time complexity.
- Language: C
- Build system: Makefile
- OS: Linux
- Tools:
gcc,make,valgrind
Each project is tested using:
- Custom test cases
- Peer evaluation
- Community testers
- Comparison with standard library behavior (when applicable)