1
0
Go to file
2024-02-18 22:39:17 +02:00
docs Updated string copying function and documentation thereof. 2021-12-16 12:52:51 +02:00
linked_lists Added attributes to single linked list, to warn of discarded values and null values. 2024-02-18 22:39:17 +02:00
misc_algorithms/search Fixed the binary search tests and function, tested and operational now. 2021-11-15 15:09:05 +02:00
nodes Bulk of the work on Red-Black trees has been done, needs to be finished and tested still. 2022-02-12 17:16:35 +02:00
sorting_algorithms Added extern and inline to quicksort 2022-07-29 21:12:48 +03:00
stack Update stack: better debugging and faster runtime performance. 2022-02-19 19:02:10 +02:00
strings Updated function comments for fgetl to clarify its use. 2024-02-03 11:17:34 +02:00
tests Added attributes and initial code cleanup - currently only for single linked lists (TBC). 2024-02-18 21:20:28 +02:00
trees BST min/max implementation. 2023-09-27 15:20:31 +03:00
utils Added warning level to log_print.h 2023-08-27 12:29:28 +03:00
vector Update vector to have less runtime checks and make them into debug-only checks instead. 2022-02-19 17:50:06 +02:00
git_list_modified.sh Added license (GPLv3-only), still have to add notice to the rest of the files and license to the docs. 2021-11-22 19:32:54 +02:00
git_list_new.sh Added license (GPLv3-only), still have to add notice to the rest of the files and license to the docs. 2021-11-22 19:32:54 +02:00
GPL_header Added license (GPLv3-only), still have to add notice to the rest of the files and license to the docs. 2021-11-22 19:32:54 +02:00
LICENSE Added license (GPLv3-only), still have to add notice to the rest of the files and license to the docs. 2021-11-22 19:32:54 +02:00
list_todo.sh More copyright stuff 2021-11-25 14:27:12 +02:00
progress_and_notes Added attributes and initial code cleanup - currently only for single linked lists (TBC). 2024-02-18 21:20:28 +02:00
README Update README 2021-11-22 19:36:08 +02:00
useful_gcc_flags More work on RB trees, still far from done, and updated flag options to be later explored. 2022-03-06 11:45:20 +02:00

This repository contains various implementations for data structres and algorithms in C.
The code is licensed under the GNU General Public License, version 3.
A copy of the license is in the top-level directory in the file named LICENSE.

Implemented Data Structures:
-Nodes.
-Binary Tree.
-Binary Search Tree.
-Stack.
-Single Linked List.
-Double Linked List.
-Queue (needs testing still).

Implemented Algorithms:
-Bubble Sort.
-Quick Sort.
-Binary Search.
-Safe String Copying (C-specific).


There are also misc. implemented utilities and small data structures.

For the future, I shall implement: 
-Some graph data structures and algorithms.
-More tree data structures (e.g.: red-black trees, AVL trees, heaps).
-More sorting algorithms.
-Hash maps.
-Hash tables.

Each data structure group or algorithm family is contained in the aptly-named directory thereof (they can be cross-referenced).
There is a special tests directory at the top-level directory.
Notes contained at the top-level directory.