我一直在尝试实现合并排序;但实现方式不正确 - 输出包含的值不是原始数组的一部分。我试着将它与其他人的实现(工作)进行比较,但似乎无法找到错误。 的代码是: - #include <iostream>
using namespace std;
void Merge (int A[], int lo, int hi, int mid){
int i = lo;
int k
我遇到了以下java类的问题。排序算法的工作原理是,但每次返回时都会返回一个空数组(“合并”方法中的返回值)。我试图用大量的System.out.println()输出检查算法以找出错误,但它看起来像算法的工作。只有最后一个返回会清除已排序的数组并返回一个空数组。我不知道为什么,也不知道如何解决这个问题。 会很好,如果任何人都可以看看并给出提示。 :) public final class Tes
这是实现合并排序我的代码,它显示没有错误可言 并没有给出输出两种: #include<iostream>
using namespace std;
void merge(int arr[],int l,int m,int r)
{
int i,j,k;
int n1 = m-l+1;
int n2 = r-m;
int L[n1],R[n2];
好的。我有一个标准的mergesort类。 public class Merge extends SortAlgorithm {
public static void sort(Comparable[] a) {
Comparable[] aux = new Comparable[a.length];
sort(a, aux, 0, a.length -1);
}
p