I am writing a small database application / library that does binary tree search and query.
This library can construct a database, query the database, and add to a existing database without needing to reconstruct the hole thing. You can add and remove entry's, and it has some level of redundancy built in. (error handling).
gcc main.c -lm -o exec