Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static void merge(ArrayList<Integer> a, ArrayList<Integer> b) {
- int aSize = a.size();
- int bSize = b.size();
- ArrayList<Integer> merged = new ArrayList<>(aSize + bSize);
- int fooPosition, barPosition, mergedPosition;
- fooPosition = barPosition = mergedPosition = 0;
- while (fooPosition < aSize && barPosition < bSize) {
- if (a.get(fooPosition) < b.get(barPosition)) {
- merged.add(mergedPosition++, a.get(fooPosition++));
- } else {
- merged.add(mergedPosition++, b.get(barPosition++));
- }
- }
- while (fooPosition < aSize) {
- merged.add(mergedPosition++, a.get(fooPosition++));
- }
- while (barPosition < bSize) {
- merged.add(mergedPosition++, b.get(barPosition++));
- }
- a.clear();
- a.addAll(merged);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement