Реализация qsort

308
user

Я искал реализацию для qsort но с помощью Google я нахожу реализацию для чего-то вроде этого

void qsort(int[] arr, int left, int right); 

То, что я хочу, это реализация для чего-то вроде этого

template <typename T> void qsort(T* begin, T* end); 

Так что я могу использовать его для необработанных указателей, умных указателей и итераторов

Я пытался реализовать это, но я просто не мог заставить это делать все эти случаи: отсортированные элементы, обратно отсортированные элементы и несортированные элементы

Любая помощь приветствуется

1
Вы получаете, что QuickSort является рекурсивным алгоритмом, который разбивает список на левый и правый, снова и снова, верно? в этом случае вам придется сделать свою функцию оболочкой, которая использует эти указатели и внутренне выводит массив, а также левый и правый индексы, а затем начинает рекурсивную операцию. Ваш метод не содержит информации, необходимой для выполнения алгоритма рекурсивным способом, как есть (хотя, надеюсь, этого будет достаточно, чтобы вывести аргументы для вызова `qsort (int [], int, int)`). Frank Thomas 7 лет назад 0
Этот вопрос лучше подходит для [StackOverflow] (http://stackoverflow.com). AFH 7 лет назад 1
Этот вопрос * может * работать [так], если вы показали свою реализацию и ее проблемы. Мы не можем помочь вам в поиске реализации, так как рекомендации по покупке и продукту не по теме. Mokubai 7 лет назад 0

0 ответов на вопрос

Похожие вопросы