小编use*_*221的帖子

合并排序有问题

对于我的java作业,我正在努力编写一个递归合并排序类.到目前为止,我有3个方法,一个"驱动"方法来启动递归,递归mergeSort方法和merge方法.根据我更改的变量,我的输出是一个全零的数组或我的原始数组以相同的顺序.唯一的事情是原始mergeSort方法必须采用一个数组,并且该merge方法不能返回任何内容.任何帮助都非常感激

import java.util.Arrays;
public class merge2 {
    public static void main(String[] args){
        int []a={22,45,1,4,89,7,0};
        mergeSort(a);
        System.out.println(Arrays.toString(a));                 
    }

    public static void mergeSort(int [] a){
        mergeSort(a,0,a.length-1);
    }

    public static void mergeSort(int []a, int beg,int end){
        if(beg<end){
            int mid=(beg+end)/2;
            mergeSort(a,beg,mid);
            mergeSort(a,mid+1,end);
            merge(a,beg,mid,end);
        }
    }

    private static void merge(int []a, int beg, int middle, int end){
        int [] d=new int[a.length];
        int mid=middle+1; //start of second half of array
        for(int i=0;i<d.length;i++){
            if(beg<=middle && mid<=end){  
                if(a[beg]<=a[mid]) {
                d[i]=a[beg]; …
Run Code Online (Sandbox Code Playgroud)

java sorting

5
推荐指数
1
解决办法
753
查看次数

标签 统计

java ×1

sorting ×1