Наличие трех методов сортировки в одном классе выглядит как-то странно. А что будет, если еще 10 методов добавлять придется? Как минимум, стоит уж завести enum с перечислением доступных методов сортировки, и оставить один метод Sort, который принимает такой enum.

Еще более грамотно было бы завести интерфейс ISort, от него 3 наследника, и фабрику, порождаюoe. любого из наследников по тому же enum.

Ну и последнее, думаю вполне нормально было бы сортировать `std::vector`, это и проще, и надежнее и красивее чем указатель и размер массива.