java - 归并排序的基本条件

标签 java algorithm sorting mergesort

我正在尝试实现归并排序,但在实现基本条件时遇到了问题。

我有一个函数 merge,它接受两个排序的数组并返回一个合并的数组。

int[] merge(int[] a , int[] b)

现在我的归并排序例程如下

private static int[] mergeSort(int[] a, int low , int high)
{
    int mid = (low + high)  /2;
    if (low  < high)
    {
        return  merge( mergeSort(a,low, mid-1), mergeSort(a, mid , high));
    }
    return //return what ?
}

这里的基本条件是什么?我犯了什么错误?

最佳答案

基本条件是当您有单个元素列表 a 时,根据定义它已经排序。只需返回即可。

关于java - 归并排序的基本条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8536513/

相关文章:

java - 如何为注释类型编写可选的默认注释值

Java BufferedReader readLine 方法不返回任何内容

java - 使用 Selenium、Maven、Browsermob 和 Browserstack 通过 Har 文件提取网络请求

c# - 如何确定数组中的哪个字符串与给定字符串最相似?

java - 我的排序算法有名称吗?

c - 使用快速排序变体的第 k 个最小数

java - 如何对列表中的日期进行排序

java - 在另一个 JavaBean 中设置绑定(bind)的 JavaBean

python - 使用 Python 脚本按标本 ID 排序

java - 如何将唯一 ID、ID 组合映射到 Java 中清晰的编号行