This is the implementation of binary serach tree. By applying the functions in tree.c, we can insert keys, delete keys, print the keys both in increasing and decreasing order, find the number of leaves and the number of full nodes. In tree.c, I also implemented a queue data structure for nodes. After make, you can directly run the code by ./tree_test. Then, you will be asked to give some integers as inputs, and the first integer you enter is the root of the tree. Each integer should be separated by a whitespace. You can continue to insert and delete the keys and do some commands by enter digits from 1 to 6.