Compare commits
3 commits
58e31c99a7
...
263cb19258
Author | SHA1 | Date | |
---|---|---|---|
![]() |
263cb19258 | ||
![]() |
4eeccffc46 | ||
![]() |
2bdd100b04 |
5 changed files with 42 additions and 7 deletions
8
Doxyfile
8
Doxyfile
|
@ -1,6 +1,10 @@
|
|||
PROJECT_NAME = MyProject
|
||||
PROJECT_NUMBER = 1.0
|
||||
PROJECT_NAME = CTree
|
||||
PROJECT_NUMBER = $(PROJECT_NUMBER)
|
||||
INPUT = src
|
||||
RECURSIVE = YES
|
||||
EXTRACT_ALL = YES
|
||||
INPUT += README.md
|
||||
USE_MDFILE_AS_MAINPAGE = README.md
|
||||
OUTPUT_DIRECTORY = docs
|
||||
#EXCLUDE = /path/to/exclude/directory
|
||||
|
||||
|
|
4
Makefile
4
Makefile
|
@ -1,6 +1,8 @@
|
|||
# Compiler
|
||||
CC := gcc
|
||||
|
||||
GITHASH := $(shell git rev-parse --short HEAD)
|
||||
|
||||
# Compiler flags
|
||||
CFLAGS := -Wall -Wextra -Wpedantic -std=c2x
|
||||
|
||||
|
@ -44,7 +46,7 @@ clean:
|
|||
rm -rf $(BUILD_DIR) $(TARGET)
|
||||
|
||||
docs:
|
||||
doxygen Doxyfile
|
||||
PROJECT_NUMBER=git-$(GITHASH) doxygen Doxyfile
|
||||
|
||||
cppcheck:
|
||||
cppcheck --enable=all --inconclusive --std=c11 --language=c --platform=unix64 --suppress=missingIncludeSystem $(SRCS)
|
||||
|
|
3
README.md
Normal file
3
README.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
# CTree Example Project
|
||||
|
||||
Sample project for the CTree library. Testing out writing C with best practices in mind.
|
|
@ -7,6 +7,15 @@
|
|||
#define ANSI_COLOR_RED "\x1b[31m"
|
||||
#define ANSI_COLOR_RESET "\x1b[0m"
|
||||
|
||||
/**
|
||||
* @brief Assert a condition
|
||||
* @details If the condition is false, print an error message
|
||||
* and exit the program
|
||||
*
|
||||
* @param condition The condition to assert
|
||||
* @param message The message to print if the condition is false
|
||||
* @return 0 if the condition is true
|
||||
*/
|
||||
int assert(bool condition, const char *message) {
|
||||
if (!condition) {
|
||||
printf(ANSI_COLOR_RED "Assertion failed: %s\n" ANSI_COLOR_RESET, message);
|
||||
|
|
25
src/tree.h
25
src/tree.h
|
@ -5,20 +5,37 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
// A regular node with a left and right branch
|
||||
/**
|
||||
* @brief A node in a binary tree
|
||||
* @details A node in a binary tree has some data
|
||||
* and can have a left and right branch
|
||||
*/
|
||||
struct Node {
|
||||
/** @brief The data of the node */
|
||||
int data;
|
||||
struct Node *left, *right;
|
||||
|
||||
/** @see Node */
|
||||
struct Node *left;
|
||||
|
||||
/** @see Node */
|
||||
struct Node *right;
|
||||
};
|
||||
typedef struct Node Node;
|
||||
|
||||
// Represents a tree with a root node
|
||||
/** @brief Represents a tree with a root node */
|
||||
struct Tree {
|
||||
/** @brief The root node of the tree */
|
||||
Node *root;
|
||||
};
|
||||
typedef struct Tree Tree;
|
||||
|
||||
// Insert some data into the tree
|
||||
/**
|
||||
* @brief Insert some data into the tree
|
||||
*
|
||||
* @param tree
|
||||
* @param data
|
||||
* @return * Insert
|
||||
*/
|
||||
int tree_insert(Tree *tree, int data);
|
||||
|
||||
// Remove some data from the tree
|
||||
|
|
Loading…
Reference in a new issue