a simple, clear, clean and efficient non-recursive implementation of AVL tree in C.
the node of avl is simple, which make it hard for general usage.
For your special usage, please replace the member val
with your key and value, or you can remove the member val
and embbed the avl_node into your struct.