• 算法-java代码实现归并排序


     


    归并排序

    对于一个int数组,请编写一个归并排序算法,对数组元素排序。

    给定一个int数组A及数组的大小n,请返回排序后的数组。

    测试样例:
    [1,2,3,5,2,3],6
    [1,2,2,3,3,5]
     
     
    1
    import java.util.*;
    2
    
    
    3
    public class MergeSort {
    4
        public int[] mergeSort(int[] A, int n) {
    5
            int firstIndex = 0;
    6
            int lastIndext = n-1;
    7
            return mergeSort(A, firstIndex,lastIndext);
    8
        }
    9
        public int[] mergeSort(int[] A, int firstIndex, int lastIndex) {
    10
            int mid = firstIndex + (lastIndex - firstIndex)/2;
    11
            if(firstIndex < lastIndex){
    12
                mergeSort(A, firstIndex,mid);
    13
                mergeSort(A, mid+1,lastIndex);
    14
                mergeArray(A,firstIndex,mid,lastIndex);
    15
            }
    16
            return A;
    17
        }
    18
        public void mergeArray(int[] A, int firstIndex, int mid, int lastIndex){
    19
            int[] temp = new int[lastIndex - firstIndex + 1];
    20
            int k = 0;
    21
            int i = firstIndex, m = mid;
    22
            int j = mid + 1, n = lastIndex;
    23
            while(i <= m && j <= n){
    24
                if(A[i] > A[j]) {
    25
                    temp[k++] = A[j++];
    26
                }
    27
                else {
    28
                    temp[k++] = A[i++]; 
    29
                }
    30
            }
    31
            while(i <= m){
    32
                temp[k++] = A[i++];
    33
            }
    34
            while(j <= n){
    35
                temp[k++] = A[j++];
    36
            }
    37
            for(int t=0; t<temp.length;){
    38
                A[firstIndex++] = temp[t++];
    39
            }
    40
        }
    41
    }
     
     
    您的代码已保存
    答案正确:恭喜!您提交的程序通过了所有的测试用例
     
  • 相关阅读:
    让我们一起Go(二)
    通过Html5 Canvas画柱状图
    Node.js爬虫网页请求模块
    Javascript 面向对象编程
    菜单悬浮
    ie6支持的png格式图片的实现方法。
    兼容IE6 的:hover 鼠标经过效果
    VMware Workstation 8/9安装时出现脚本错误
    接上篇,Apache虚拟主机配置
    【Linux笔记】CentOS下找不到eth0设备的解决方法
  • 原文地址:https://www.cnblogs.com/haozhengfei/p/9d526442a27a41a47b0284e0be0fcbc2.html
Copyright © 2020-2023  润新知