Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class MergeTwoSorted {
- public static void mergeArrays(int[] fieldA, int[] fieldB, int[] fieldC) {
- int i = 0, j = 0, k = 0;
- while (i < fieldA.length && j < fieldB.length) {
- // prüft ob element aus A kleiner ist als B. Falls ja, es wird gepseichert
- // und der Index von A wird vergroßert
- // falls nein, dasselbe wird bei B probiert
- if (fieldA[i] < fieldB[j])
- fieldC[k++] = fieldA[i++];
- else
- fieldC[k++] = fieldB[j++];
- }
- // den Rest der Elementen von A speichern
- while (i < fieldA.length)
- fieldC[k++] = fieldA[i++];
- // den Rest der Elementen von B speichern
- while (j < fieldB.length)
- fieldC[k++] = fieldB[j++];
- }
- public static void main(String[] args) {
- int[] fieldA = {1, 1, 3, 5, 7, 8, 9};
- int[] fieldB = {2, 3, 4, 6, 8, 10};
- int fieldH = fieldA.length + fieldB.length;
- int[] fieldC = new int[fieldH];
- mergeArrays(fieldA, fieldB, fieldC);
- // den Array wird für doppeleingaben geprüft
- int current = fieldC[0];
- boolean found = false;
- for (int i = 0; i < fieldC.length; i++) {
- if (current == fieldC[i] && !found) {
- found = true;
- } else if (current != fieldC[i]) {
- System.out.print(" " + current);
- current = fieldC[i];
- found = false;
- }
- }
- System.out.print(" " + current);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement