Implementations of various sorts and other algorithms for interview practice