Я искал реализацию для qsort но с помощью Google я нахожу реализацию для чего-то вроде этого
void qsort(int[] arr, int left, int right); То, что я хочу, это реализация для чего-то вроде этого
template <typename T> void qsort(T* begin, T* end); Так что я могу использовать его для необработанных указателей, умных указателей и итераторов
Я пытался реализовать это, но я просто не мог заставить это делать все эти случаи: отсортированные элементы, обратно отсортированные элементы и несортированные элементы
Любая помощь приветствуется
Вы получаете, что QuickSort является рекурсивным алгоритмом, который разбивает список на левый и правый, снова и снова, верно? в этом случае вам придется сделать свою функцию оболочкой, которая использует эти указатели и внутренне выводит массив, а также левый и правый индексы, а затем начинает рекурсивную операцию. Ваш метод не содержит информации, необходимой для выполнения алгоритма рекурсивным способом, как есть (хотя, надеюсь, этого будет достаточно, чтобы вывести аргументы для вызова
qsort (int [], int, int)).