DamSi

Untitled

May 29th, 2016
448
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.15 KB | None | 0 0
  1. package dopolnitelni_casovi.linkedlists;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.util.ArrayList;
  7. import java.util.List;
  8.  
  9. /**
  10.  * ----------------------------
  11.  * Project: APS
  12.  * Package: dopolnitelni_casovi.linkedlists
  13.  * Created on: 29.5.2016, 16:11
  14.  * IDE: IntelliJ IDEA
  15.  * ----------------------------
  16.  * Author: Damjan Miloshevski
  17.  * Web: http://damjanmiloshevski.mk/
  18.  * Phone: +389 (0)78 566 409
  19.  * Skype: damjan.milosevski
  20.  * LinkedIn: https://mk.linkedin.com/in/damjanmiloshevski
  21.  * GitHub: https://github.com/damsii
  22.  * Bitbucket: https://bitbucket.org/dam_si
  23.  */
  24. public class PrevrtiLista {
  25.     public static void main(String[] args) {
  26.         /*
  27.         * TODO:
  28.         *Дадена е двострано поврзана листа чии што јазли содржат по еден природен број.
  29. Листата треба да се преврти т.ш. прво се превртуваат јазлите кои содржат парни броеви, а потоа јазлите со
  30.  непарни броеви.
  31.  Листата се разгледува од назад.
  32. Право на користење имате само една дополнителна помошна двострано поврзана листа.
  33.  
  34. Во првиот ред од влезот е даден бројот на јазли во листа,
  35. потоа во вториот ред се дадени броевите од кои се составени јазлите по редослед во листата.
  36. На излез треба да се испечатат јазлите по редослед во превртената листа.
  37.         *
  38.          * Sample input
  39. 20
  40. 2 2 4 6 2 4 6 8 0 1 1 1 1 3 1 1 3 5 7 9
  41. Sample output
  42. 0 8 6 4 2 6 4 2 2 9 7 5 3 1 1 3 1 1 1 1 */
  43.         BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  44.         List<Integer> lista = new ArrayList<>();
  45.         try {
  46.             int N = Integer.parseInt(in.readLine());
  47.             String[] elementi = in.readLine().split(" ");
  48.             for (String i : elementi) {
  49.                 lista.add(Integer.parseInt(i));
  50.             }
  51.             List<Integer> prevrtena = prevrti(lista);
  52.             for (Integer i : prevrtena) {
  53.                 System.out.print(i + " ");
  54.             }
  55.  
  56.         } catch (IOException e) {
  57.             e.printStackTrace();
  58.         }
  59.     }
  60.  
  61.     static List<Integer> prevrti(List<Integer> lista) {
  62.         List<Integer> rezultat = new ArrayList<>();
  63.         List<Integer> parni = new ArrayList<>();
  64.         List<Integer> neparni = new ArrayList<>();
  65.         for (int i = lista.size() - 1; i >= 0; i--) {
  66.             if (lista.get(i) % 2 == 0) {
  67.                 parni.add(lista.get(i));
  68.             }
  69.         }
  70.         for (int i = lista.size() - 1; i >= 0; i--) {
  71.             if (lista.get(i) % 2 != 0) {
  72.                 neparni.add(lista.get(i));
  73.             }
  74.         }
  75.         rezultat.addAll(parni);
  76.         rezultat.addAll(neparni);
  77.  
  78.         return rezultat;
  79.     }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment