美文网首页
合并两个有序数组(归并排序)

合并两个有序数组(归并排序)

作者: 紫色冰雨 | 来源:发表于2018-06-03 13:57 被阅读87次

public class MergeSortArray {

    public static int[] sort(int[] a,int[] b){//a,b数组必须有序     

          int merge[]=new int[a.length+b.length];

          int lenA=0,lenB=0,lenMer=0;

        while(lenA<a.length&&lenb<b.length){ 

            if(a[lenA]<b[lenb]){

                merge[lenMer++]=a[lenA++];

            }else{

                merge[lenMer++]=b[lenB++];

            }

        }

        while(lenA<a.length){

            merge[lenMer++]=a[lenA++];

        }

        while(lenB<b.length){

            merge[lenMer++]=b[lenB++];

        }

        return merge;

    }

    public static void main(String[] args) {

        int[] a={1,2,3,3,4,5};

        int[] b={7,8,8,9};

        int[] c=MergeSortArray.sort(a, b);

        for (int i : c) {

            System.out.print(i);

            System.out.print(" ");

        }

}

}

相关文章

  • 算法 -- 归并排序 - 草稿

    merge 归并排序原理 归并排序 == 递归 + 合并 合并 将两个有序的数组合并成一个有序的大数组;(从两个小...

  • 算法 | 归并排序

    归并排序 归并排序算法的核心就是 “归并”,将两个有序的数列合并,形成更大的有序数组。 归并排序的原理 上面说了,...

  • 3.归并排序

    1.什么是归并排序? 归并:将两个有序数组合并成一个更大的有序数组。 归并排序有两个主要操作:递归和合并。要将一个...

  • 备战秋招之leetcode刷题

    1.从合并两个有序数组谈归并排序 递归的归并排序 解析 右移1位相当于除以2 。 核心在于如何将两个有序数组合并成...

  • 数组逆序序列

    归并排序 归并排序是采用分治的一种排序方法:先将元素分开,也就长度为1的有序序列。合并有序序列,直至合并成一个数组...

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

    归并排序:归并的含义是将两个或两个以上的有序表合并成一个新的有序表。归并排序有多路归并排序、两路归并排序 , 可用...

  • 归并排序求逆序对

    归并排序 归并排序是我们最常使用的排序算法之一,作用是将两个或两个以上的有序数组合并成为一个新的数组,主要使用的是...

  • 排序 | 归并排序 Merge Sort

    【算法】归并排序 归并排序(Merge Sort)就是将两个或两个以上的有序表合并成一个有序表的过程。 归并排序的...

  • 排序算法——归并排序

    原理 归并排序的基础是合并有序数组,运用了分治的思想,将数组对半分,递归,直到两个数组长度都为1,可以看作两个有序...

  • Swift 归并排序

    Swift 归并排序 基本原理: 对于两个有序子数组,合并成一个有序数组,是一个较为简单的事情。可以对两个子数组,...

网友评论

      本文标题:合并两个有序数组(归并排序)

      本文链接:https://www.haomeiwen.com/subject/xmsjsftx.html