package pl.edu.uwm.wmii.bartkopawel.laboratorium03; import java.util.ArrayList; public class Zadanie_array { public static void main(String[] args) { ArrayLista=new ArrayList(); a.add(1); a.add(4); a.add(9); a.add(16); ArrayListb=new ArrayList(); b.add(9); b.add(7); b.add(4); b.add(9); b.add(11); //System.out.println("Połączona lista: " + append(a,b)); //System.out.println("Połączona lista: " + merge(a,b)); //System.out.println("Połączona lista: " + mergeSorted(a,b)); //System.out.println("Odwrócona lista: " + reversed(a)); reverse(a); } public static ArrayList append(ArrayList a, ArrayList b) { ArrayListlista=new ArrayList(); lista.addAll(a); lista.addAll(b); return lista; } public static ArrayList merge(ArrayList a, ArrayList b) { ArrayList lista = new ArrayList(); int x = 0, y = 0; while (x < a.size() || y < b.size()) { if (x < a.size()) lista.add(a.get(x++)); if (y < b.size()) lista.add(b.get(y++)); } return lista; } public static ArrayList mergeSorted(ArrayList a, ArrayList b) { ArrayList lista = new ArrayList(); int x = 0, y = 0; while (x < a.size() && y < b.size()) { if (a.get(x) > b.get(y)) { lista.add(b.get(y++)); } else if (a.get(x) < b.get(y)) { lista.add(a.get(x++)); } else { lista.add(a.get(x++)); lista.add(b.get(y++)); } } if (x < a.size()) { while (x < a.size()) { lista.add(a.get(x++)); } } else if (y < b.size()) { while (y < b.size()) { lista.add(b.get(y++)); } } return lista; } public static ArrayList reversed(ArrayList a){ ArrayList lista = new ArrayList(); for (int i=a.size()-1; i>=0; i--){ lista.add(a.get(i)); } return lista; } public static void reverse(ArrayList a) { ArrayList lista = new ArrayList(); for (int i = a.size() - 1; i >= 0; i--) { lista.add(a.get(i)); } System.out.println(lista); } }