专栏首页AVAJ归并排序

归并排序

归并排序

// 当俩个有序的数组 进行归并后 就是一个有序的数组了public class Merge {
    private static void merge(int[]arr,int left,int mid,int right) {        int i,j,k;        int[] temp = new int[arr.length];        for (int t = left ;t <= right; t++) {            temp[t] = arr[t];        }        for (i = left,j = mid + 1,k = i;i <= mid && j <= right;k++) {            if (temp[i] <= temp[j]) {                arr[k] = temp[i++];            } else {                arr[k] = temp[j++];            }        }        while (i <= mid) {            arr[k++] = temp[i++];        }        while (j <= right) {            arr[k++] = temp[j++];        }    }
    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);        }    }
    public static void main(String[] args) {        int[] arr = {1,23,1,12,1,31,4,12213};        mergeSort(arr,0,arr.length -1);        for (int i : arr) {            System.out.println(i);        }    }}

当俩个有序的数组 进行归并后 就是一个有序的数组了。

本文分享自微信公众号 - AVAJ(gh_ccf596cb9b66)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 快排

    思路:快速排序每次都是定位一个元素在数组中的绝对位置,简单说就是一个元素,在排好序后他的位置是一定的(当然快排是不稳定的),你每次选定一个元素,然后定位其排好序...

    用户6055494
  • 冒泡排序、选择排序、插入排序

    冒泡排序:每次遍历后选出最大的元素,每当选出一个下次遍历就排除之前已选的最大元素,因为每次遍历都能定位一个最大元素。

    用户6055494
  • 剑指offer__4__二维数组中的查找

    描述:在一个二维数组中,每一行都按照从左到右的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一函数,输入这样的一个二维数组,和一个数,判断数组中是否含有该...

    用户6055494
  • 快排

    思路:快速排序每次都是定位一个元素在数组中的绝对位置,简单说就是一个元素,在排好序后他的位置是一定的(当然快排是不稳定的),你每次选定一个元素,然后定位其排好序...

    用户6055494
  • 计算右侧小于当前元素的个数

    给定一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums...

    你的益达
  • map/reduce的先祖归并排序

    归并排序是利用分治的思想进行排序的策略。 分:通过递归将一个大的数据集进行递归分割,直到只有两个元素进行比较。 治:将分的阶段的分割单元进行合并。 分 ? 可以...

    春哥大魔王
  • 排序算法之快速排序

    快速排序是一种非常优秀的排序算法,应用的也非常广泛,面试时面试官也经常让你手写一个快排,所以说学习快速排序是非常有必要的。

    dejavu1zz
  • 调整数组顺序使奇数位于偶数前面

    输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相...

    用户3003813
  • 基本排序算法(冒泡排序 选择排序 插入排序 快速排序 归并排序 基数排序 希尔排序)

    项目地址:https://github.com/windwant/windwant-service/tree/master/algorithm

    WindWant
  • 你知道和你不知道的选择排序

    然后我们再通过我制作的gif,配上数据再了解一下过程。假设我们的待排序数组还是[5, 1, 3, 7, 6, 2, 4]。

    SH的全栈笔记

扫码关注云+社区

领取腾讯云代金券