package com.thealgorithms.datastructures.lists;
import java.util.ArrayList;
import java.util.List;
public final class MergeSortedArrayList {
private MergeSortedArrayList() {
}
public static void main(String[] args) {
List<Integer> listA = new ArrayList<>();
List<Integer> listB = new ArrayList<>();
List<Integer> listC = new ArrayList<>();
for (int i = 1; i <= 10; i += 2) {
listA.add(i);
listB.add(i + 1);
}
merge(listA, listB, listC);
System.out.println("listA: " + listA);
System.out.println("listB: " + listB);
System.out.println("listC: " + listC);
}
public static void merge(List<Integer> listA, List<Integer> listB, List<Integer> listC) {
int pa = 0;
int pb = 0;
while (pa < listA.size() && pb < listB.size()) {
if (listA.get(pa) <= listB.get(pb)) {
listC.add(listA.get(pa++));
} else {
listC.add(listB.get(pb++));
}
}
while (pa < listA.size()) {
listC.add(listA.get(pa++));
}
while (pb < listB.size()) {
listC.add(listB.get(pb++));
}
}
}