Facebook
From pjn, 5 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 177
  1. package pl.edu.uwm.wmii.bartkopawel.laboratorium03;
  2. import java.util.ArrayList;
  3.  
  4. public class Zadanie_array {
  5.  
  6.     public static void main(String[] args) {
  7.         ArrayList<Integer>a=new ArrayList<Integer>();
  8.         a.add(1);
  9.         a.add(4);
  10.         a.add(9);
  11.         a.add(16);
  12.         ArrayList<Integer>b=new ArrayList<Integer>();
  13.         b.add(9);
  14.         b.add(7);
  15.         b.add(4);
  16.         b.add(9);
  17.         b.add(11);
  18.         //System.out.println("Połączona lista: " + append(a,b));
  19.         //System.out.println("Połączona lista: " + merge(a,b));
  20.         //System.out.println("Połączona lista: " + mergeSorted(a,b));
  21.         //System.out.println("Odwrócona lista: " + reversed(a));
  22.         reverse(a);
  23.  
  24.  
  25.     }
  26.  
  27.     public static ArrayList<Integer> append(ArrayList<Integer> a, ArrayList<Integer> b)
  28.     {
  29.         ArrayList<Integer>lista=new ArrayList<Integer>();
  30.         lista.addAll(a);
  31.         lista.addAll(b);
  32.         return lista;
  33.     }
  34.  
  35.     public static ArrayList<Integer> merge(ArrayList<Integer> a, ArrayList<Integer> b) {
  36.         ArrayList<Integer> lista = new ArrayList<Integer>();
  37.         int x = 0, y = 0;
  38.         while (x < a.size() || y < b.size()) {
  39.             if (x < a.size())
  40.                 lista.add(a.get(x++));
  41.             if (y < b.size())
  42.                 lista.add(b.get(y++));
  43.         }
  44.         return lista;
  45.     }
  46.     public static ArrayList<Integer> mergeSorted(ArrayList<Integer> a, ArrayList<Integer> b) {
  47.         ArrayList<Integer> lista = new ArrayList<Integer>();
  48.         int x = 0, y = 0;
  49.         while (x < a.size() && y < b.size())
  50.         {
  51.             if (a.get(x) > b.get(y)) {
  52.                 lista.add(b.get(y++));
  53.             }
  54.             else if (a.get(x) < b.get(y)) {
  55.                 lista.add(a.get(x++));
  56.             }
  57.             else {
  58.                 lista.add(a.get(x++));
  59.                 lista.add(b.get(y++));
  60.             }
  61.         }
  62.         if (x < a.size()) {
  63.             while (x < a.size()) {
  64.                 lista.add(a.get(x++));
  65.             }
  66.         }
  67.         else if (y < b.size()) {
  68.             while (y < b.size()) {
  69.                 lista.add(b.get(y++));
  70.             }
  71.         }
  72.         return lista;
  73.     }
  74.  
  75.     public static ArrayList<Integer> reversed(ArrayList<Integer> a){
  76.         ArrayList<Integer> lista = new ArrayList<Integer>();
  77.         for (int i=a.size()-1; i>=0; i--){
  78.             lista.add(a.get(i));
  79.         }
  80.         return lista;
  81.     }
  82.  
  83.     public static void reverse(ArrayList<Integer> a) {
  84.         ArrayList<Integer> lista = new ArrayList<Integer>();
  85.         for (int i = a.size() - 1; i >= 0; i--) {
  86.             lista.add(a.get(i));
  87.         }
  88.         System.out.println(lista);
  89.     }
  90. }