Maison >Java >Javacommencer >Quel est le moyen efficace de fusionner des tableaux ordonnés en Java

Quel est le moyen efficace de fusionner des tableaux ordonnés en Java

王林
王林avant
2020-12-14 16:00:492167parcourir

Quel est le moyen efficace de fusionner des tableaux ordonnés en Java

Jetons d'abord un coup d'œil à la question d'origine :

(Partage de vidéos d'apprentissage : vidéo d'enseignement Java)

/**
 * 
 ClassName: MergeSortArray <br/>
 * 
 Function: 合并有序数组<br/>
 *   [1, 2, 2, 5]
 *   [3, 4, 7, 8, 9]
 *
 *
 */

Analyse des idées :

Les pointeurs doubles se déplacent d'avant en arrière pour comparaison, puis copient les données restantes dans le tableau fusionné. En fait, c'est aussi le code de base du tri par fusion (divisé d'abord, puis). fusionner) est une partie divisée et conquise de la gouvernance.

Code d'implémentation :

public static int[] mergeSortArray(int[] a, int[] b){
        int length1 = a.length, length2 = b.length;
        int[] merge = new int[length1 + length2];
        int i = 0, j = 0, k = 0;
        while(i < length1 && j < length2){
            if(a[i] <= b[j]){
                merge[k++] = a[i++];
            }else{
                merge[k++] = b[j++];
            }
        }
        while(i < length1){
            merge[k++] = a[i++];
        }
        while(j < length2){
            merge[k++] = b[j++];
        }
        return merge;
    }


    public static void main(String[] args) {
        int[] a = {1, 2, 2, 5};
        int[] b = {3, 4, 7, 8, 9};
        int[] merge = mergeSortArray(a, b);
        for(int i = 0; i < merge.length; i++){
            System.out.println(merge[i]);
        }
    }

Résultat d'exécution :

1
2
2
3
4
5
7
8
9

Recommandations associées : Tutoriel d'introduction à Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer