Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package dopolnitelni_casovi.linkedlists;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * ----------------------------
- * Project: APS
- * Package: dopolnitelni_casovi.linkedlists
- * Created on: 29.5.2016, 16:11
- * IDE: IntelliJ IDEA
- * ----------------------------
- * Author: Damjan Miloshevski
- * Web: http://damjanmiloshevski.mk/
- * Phone: +389 (0)78 566 409
- * E-mail: [email protected]; [email protected]
- * Skype: damjan.milosevski
- * LinkedIn: https://mk.linkedin.com/in/damjanmiloshevski
- * GitHub: https://github.com/damsii
- * Bitbucket: https://bitbucket.org/dam_si
- */
- public class PrevrtiLista {
- public static void main(String[] args) {
- /*
- * TODO:
- *Дадена е двострано поврзана листа чии што јазли содржат по еден природен број.
- Листата треба да се преврти т.ш. прво се превртуваат јазлите кои содржат парни броеви, а потоа јазлите со
- непарни броеви.
- Листата се разгледува од назад.
- Право на користење имате само една дополнителна помошна двострано поврзана листа.
- Во првиот ред од влезот е даден бројот на јазли во листа,
- потоа во вториот ред се дадени броевите од кои се составени јазлите по редослед во листата.
- На излез треба да се испечатат јазлите по редослед во превртената листа.
- *
- * Sample input
- 20
- 2 2 4 6 2 4 6 8 0 1 1 1 1 3 1 1 3 5 7 9
- Sample output
- 0 8 6 4 2 6 4 2 2 9 7 5 3 1 1 3 1 1 1 1 */
- BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
- List<Integer> lista = new ArrayList<>();
- try {
- int N = Integer.parseInt(in.readLine());
- String[] elementi = in.readLine().split(" ");
- for (String i : elementi) {
- lista.add(Integer.parseInt(i));
- }
- List<Integer> prevrtena = prevrti(lista);
- for (Integer i : prevrtena) {
- System.out.print(i + " ");
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- static List<Integer> prevrti(List<Integer> lista) {
- List<Integer> rezultat = new ArrayList<>();
- List<Integer> parni = new ArrayList<>();
- List<Integer> neparni = new ArrayList<>();
- for (int i = lista.size() - 1; i >= 0; i--) {
- if (lista.get(i) % 2 == 0) {
- parni.add(lista.get(i));
- }
- }
- for (int i = lista.size() - 1; i >= 0; i--) {
- if (lista.get(i) % 2 != 0) {
- neparni.add(lista.get(i));
- }
- }
- rezultat.addAll(parni);
- rezultat.addAll(neparni);
- return rezultat;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment