Different sorting algorithms and data structures implementations