Advertisement
ilevishinov

Двојно поврзана листа: Раздели по парност

Oct 23rd, 2017
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.34 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4.  
  5. class Node<E> {
  6.     E data;
  7.     Node<E> prev,next;
  8.    
  9.     Node(E data, Node<E> prev, Node<E> next){
  10.         this.data=data;
  11.         this.prev=prev;
  12.         this.next=next;
  13.     }
  14.  
  15. }
  16.  
  17. class DLL<E> {
  18.     Node<E> first,last;
  19.     int size;
  20.    
  21.     DLL(){
  22.         first=null;
  23.         last=null; 
  24.         size=0;
  25.     }
  26.    
  27.     public void insertFirst(E e) {
  28.         if(first==null){
  29.             first=last=new Node<E>(e,null,null);
  30.             return;
  31.         }
  32.         first=new Node<E>(e,null,first);
  33.     }
  34.    
  35.     public void insertLast(E e) {
  36.         if(last==null){
  37.             insertFirst(e);
  38.             return;
  39.         }
  40.         Node<E> temp=last;
  41.         last=new Node<E>(e,last,null);
  42.         temp.next=last;
  43.     }
  44.    
  45.     public int size() {
  46.         int s=0;
  47.         Node<E> temp=first;
  48.         while(temp!=null) {
  49.             temp=temp.next;
  50.             s++;
  51.         }
  52.         return s;
  53.     }
  54.  
  55.     public E getElement(int i) {
  56.         if(i<this.size()) {
  57.             Node<E> temp=first;
  58.             while(i!=0) {
  59.                 temp=temp.next;
  60.                 i--;
  61.             }
  62.             return temp.data;
  63.         }
  64.         return null;
  65.     }
  66. }
  67.  
  68.  
  69. public class DivideOddEven {
  70.    
  71.  
  72.     public static void main(String[] args) throws IOException {
  73.        
  74.        
  75.         DLL<Integer> lista=new DLL<Integer>();
  76.         BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
  77.         String s = stdin.readLine();
  78.         int N = Integer.parseInt(s);
  79.         s = stdin.readLine();
  80.         String[] pomniza = s.split(" ");
  81.         for (int i = 0; i < N; i++) {
  82.             lista.insertLast(Integer.parseInt(pomniza[i]));
  83.         }
  84.        
  85.        
  86.         DLL<Integer> oddNumbers=new DLL<Integer>();
  87.         DLL<Integer> evenNumbers=new DLL<Integer>();
  88.         for(int i=0;i<N;i++) {
  89.             if(lista.getElement(i)!=null){
  90.                 if(((Integer)lista.getElement(i))%2==0) {
  91.                     evenNumbers.insertLast(lista.getElement(i));
  92.                 } else {
  93.                     oddNumbers.insertLast(lista.getElement(i));
  94.                 }
  95.             }
  96.         }
  97.        
  98.         String str=new String("");
  99.        
  100.         for(int i=0;i<oddNumbers.size();i++) {
  101.             if(i==oddNumbers.size()-1){str+=oddNumbers.getElement(i); break;}
  102.             str+=oddNumbers.getElement(i)+" ";
  103.         }
  104.         int flag=0;
  105.         for(int i=0;i<evenNumbers.size();i++) {
  106.             if(flag==0){flag=1; str+="\n";}
  107.             if(i==evenNumbers.size()-1){str+=evenNumbers.getElement(i); break;}
  108.             str+=evenNumbers.getElement(i)+" ";
  109.         }
  110.        
  111.         System.out.print(str);
  112.     }
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement