sorting: insertion, heap, quick, merge