Support insert and delete. Handles numbers either as pure strings or as numbers. In this case, numbers are identified and ordered as numbers, all strings which are not numbers are considered larger and are ordered with lex ordering. An option can be selected where numbers are not interpreted and are order lex along with any other string.
Three visualizations are provided. I think geometric works the best. Equal spacing is my newest invention, and I don't think it looks as good as geometric. Also it jumps around a bit on insert and delete. The two visual depictions are sensitive to mouse pick, to view the label and transfer the label in the text box.
This was written for Csc220.043, starting from code written many years earlier. The delete code is new and is pretty tight, using a do-while to reenter the code after "Case 3" to handle the delete of the node which we swapped.
To do: Code supports repetition of elements: integrate this into UI. Zoom feature.