AVL trees are self-balancing binary trees. This code was written for a CS2130 assignment. You can use this however you want, as long as you're not using it for a class that doesn't allow copying :)
The following is a Java applet to demonstrate:
http://www.seanet.com/users/arsen/avltree.html
Red Black trees are basically the same thing, but balance more efficiently.
http://ciips.ee.uwa.edu.au/~morris/Year2/PLDS210/red_black.html
My code. In C.
avl_tree.c
avl_tree.h
(unless otherwise marked) Copyright 2002-2014 YakPeople. All rights reserved.