Heim >Java >JavaErste Schritte >Was ist der effiziente Weg, geordnete Arrays in Java zusammenzuführen?
Werfen wir zunächst einen Blick auf die ursprüngliche Frage:
(Teilen von Lernvideos: Java-Lehrvideo)
/** * ClassName: MergeSortArray <br/> * Function: 合并有序数组<br/> * [1, 2, 2, 5] * [3, 4, 7, 8, 9] * * */
Ideenanalyse:
Vergleich des Verschiebens von Doppelzeigern von vorne nach hinten und anschließendes Kopieren des Rests Daten zu Beim Zusammenführen von Arrays ist dies tatsächlich der Kerncode der Zusammenführungssortierung (zuerst teilen und dann zusammenführen) ist der Prozess des Teilens und Eroberns.
Implementierungscode:
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]); } }
Laufendes Ergebnis:
1 2 2 3 4 5 7 8 9
Verwandte Empfehlungen: Java-Einführungs-Tutorial
Das obige ist der detaillierte Inhalt vonWas ist der effiziente Weg, geordnete Arrays in Java zusammenzuführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!