Pseudocode from Aho, Hopcroft, and Ullman for deleting in a 2-3 tree
Deletion always begins at a leaf node
Delete the leaf node, updating parent/root
Let f be the parent of the node just deleted (or NULL if leaf was root)
while f is an illegal interior node [not NULL or leaf, with one child]
if f has no parent
make the single child of f the new root
delete f
Set f to the root [for while loop condition]
else
let g be parent of f --- known to have 2 or 3 children
if one of f's siblings is a 3-node
move one child from the 3-node into f [That is, f becomes legal]
update L and M everywhere
else
give f's remaining child to one of f's siblings
delete f
update L and M everywhere
Set f to g [for while loop condition]
end-while