使用向量C ++合并排序(我不知道我在实现中缺少什么)

时间:2017-03-07 06:03:05

标签: c++ sorting merge mergesort

我很困惑。我得到了一个合法的方法,我知道有效。

template<typename T, typename X>
void merge(std::vector<T>& vec, X start, X mid, X end) { ... }

问题是我不知道如何实现合并排序方法。

这是我到目前为止所做的:

template<typename T, typename S>
void merge_sort(std::vector<T>& vec, X begin, X end) {
    if (start >= end) return;
        X midpoint = ( start + end ) / 2;
        merge_sort(vec, begin, midpoint);
        merge_sort(vec, midpoint + 1, end);
        merge(vec, begin, midpoint, end);

}

我不知道我做错了什么。我需要帮助解决这个问题,以及为什么我做错了。我不能提供合并方法代码,但我知道它有效。

如果这在某种程度上是正确的,那么我应该放在什么主要位置以确保我正确地测试它。

0 个答案:

没有答案