import java.util.ArrayList; import java.util.Random; class MergeSort { ArrayList<Integer> numbers = new ArrayList<Integer>(); for (int i = 1; i <= 15; i++) { numbers.add(r.nextInt(100)); } numbers = mergeSort(numbers); } public static ArrayList<Integer> mergeSort(ArrayList<Integer> m) { if (m.size() <= 1) { return m; } ArrayList<Integer> left = new ArrayList<Integer>(); ArrayList<Integer> right = new ArrayList<Integer>(); for (int i = 0; i < m.size(); i++) { if (i < (m.size()) / 2) left.add(m.get(i)); else { right.add(m.get(i)); } } left = mergeSort(left); right = mergeSort(right); return merge(left, right); } private static ArrayList<Integer> merge(ArrayList<Integer> l, ArrayList<Integer> r) { ArrayList<Integer> result = new ArrayList<Integer>(); while (l.size() > 0 && r.size() > 0) { if (l.get(0) <= r.get(0)) { result.add(l.get(0)); l.remove(0); } else { result.add(r.get(0)); r.remove(0); } } while (l.size() > 0) { result.add(l.get(0)); l.remove(0); } while (r.size() > 0) { result.add(r.get(0)); r.remove(0); } return result; } }
Standard input is empty