c++ - 仅使用一个参数(整数 vector )和第一个元素作为枢轴的快速排序

标签 c++

我需要在 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/

相关文章:

c++ - 在 c++ r3.0.2 驱动程序中使用连接池连接到 mongodb 拷贝集的正确方法是什么?

c++ - 如何在不将参数传递给其构造函数的情况下声明类的对象?

c++ - 从 boost::shared_ptr 到 std::shared_ptr 的转换?

c++ - std::vector capacity/size/reserve 可以用于手动管理 vector 内存分配吗?

c++ - 打印无向图中的最长路径

c++ - 将十六进制数据写入可执行文件不起作用? C++

c++ - boost::recursive_wrapper 和 std::unique_ptr

c++ - 数组类节点不起作用

c++ - 将 ostream::opfx/osfx 从 Unix 移植到 Linux

c++ - QTextStream stdin readline 不暂停输入