码迷,mamicode.com
首页 > 编程语言 > 详细

07-归并排序算法

时间:2018-09-21 12:27:20      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:span   code   ali   string   ima   mic   ges   wrapper   static   

归并排序算法

归并排序:利用分而治之的思想。

归并排序代码

public static void merge(int[] arr, int left, int mid, int right){
    int[] temp = new int[right - left + 1]; //新开一个临时数组存放每一代gap排好序的数组
    int i = left, j = mid + 1, k = 0;
    while (i <= mid && j <= right){
        if (arr[i] < arr[j]){
            temp[k++] = arr[i++];
        }else{
            temp[k++] = arr[j++];
        }
    }

    while (i <= mid){
        temp[k++] = arr[i++];
    }

    while (j <= right){
        temp[k++] = arr[j++];
    }

    for (int x = 0; x < k; x++){
        arr[left+x] = temp[x];
    }
}

public static void mergeSort(int arr[], int left, int right){
    if (left < right){
        int mid = (left + right) / 2;
        mergeSort(arr, left, mid);
        mergeSort(arr, mid+1, right);
        merge(arr, left, mid, right);
    }
}

测试样例

int[] arr = {249386715};
mergeSort(arr, 08);
    for (int x : arr){
    System.out.print(x + " ");
}

结果:

1 2 3 4 5 6 7 8 9 

----- end -----

 

07-归并排序算法

标签:span   code   ali   string   ima   mic   ges   wrapper   static   

原文地址:https://www.cnblogs.com/denluoyia/p/9685841.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!