我需要在 C++ 中实现一个快速排序算法,这通常很容易,但问题是我只能将 vector 作为我的参数,并且必须选择第一个元素作为主元。我只需要返回我的算法进行的比较次数。 这是我的功能,无法更改,因为我无法控制 main.cpp 文件,只能控制 quicksort.cpp 和 quicksort.h 文件。
long long QuickSort(vector<int> & a)
最佳答案
没有什么能阻止您使 QuickSort
调用(递归)辅助函数。
例如:
static long long QuickSortWorker(vector<int> &a, size_t start, size_t length) {
...
}
long long QuickSort(vector<int> &a) {
return QuickSortWorker(a, 0, a.size());
}
关于c++ - 仅使用一个参数(整数 vector )和第一个元素作为枢轴的快速排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54335190/