Advertisement
elena_gjorgjioska

Kompanija APS

Oct 25th, 2016
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.54 KB | None | 0 0
  1. import java.util.Collections;
  2. import java.util.Scanner;
  3.  
  4. class DLLNode<E extends Comparable> implements Comparable {
  5.  
  6.     E element;
  7.     DLLNode<E> succ;
  8.     DLLNode<E> pred;
  9.  
  10.     public DLLNode(E element, DLLNode<E> succ, DLLNode<E> pred) {
  11.         this.element = element;
  12.         this.succ = succ;
  13.         this.pred = pred;
  14.     }
  15.  
  16.     @Override
  17.     public int compareTo(Object t) {
  18.         DLLNode<E> temp = (DLLNode<E>) t;
  19.         return this.element.compareTo(temp.element);
  20.     }
  21.  
  22. }
  23.  
  24. class DLL<E extends Comparable> {
  25.  
  26.     DLLNode<E> first, last;
  27.  
  28.     public DLL() {
  29.         first = last = null;
  30.     }
  31.  
  32.     public void insertFirst(E element) {
  33.         DLLNode<E> nov = new DLLNode<>(element, first, null);
  34.         if (first == null) {
  35.             last = nov;
  36.         } else {
  37.             first.pred = nov;
  38.         }
  39.         first = nov;
  40.  
  41.     }
  42.  
  43.     public void insertLast(E element) {
  44.         DLLNode<E> nov = new DLLNode<>(element, null, last);
  45.         if (first == null) {
  46.             first = nov;
  47.         } else {
  48.             last.succ = nov;
  49.         }
  50.         last = nov;
  51.     }
  52.     public int size()
  53.     {
  54.         int br=0;
  55.         DLLNode<E>dvizi = first;
  56.         while(dvizi!=null)
  57.         {
  58.             br++;
  59.             dvizi = dvizi.succ;
  60.         }
  61.         return br;
  62.     }
  63.     public String toString() {
  64.         String s = new String();
  65.         DLLNode<E> dvizi = first;
  66.         while (dvizi != null) {
  67.             s = s + dvizi.element + "\n";
  68.             dvizi = dvizi.succ;
  69.         }
  70.         return s;
  71.     }
  72.  
  73. }
  74.  
  75. public class DLLKompanija {
  76.  
  77.     public static void sort(DLL<Vraboten> lista) {
  78.        DLLNode<Vraboten> dvizi= lista.first;
  79.         Vraboten temp = new Vraboten();
  80.         for (int i = 0; i < lista.size(); i++) {
  81.              dvizi= lista.first;
  82.             while (dvizi.succ != null) {
  83.                  
  84.                 if (dvizi.element.compareTo(dvizi.succ.element) < 0) {
  85.                     temp =dvizi.element;
  86.                    
  87.                     dvizi.element = dvizi.succ.element;
  88.                    
  89.                     dvizi.succ.element = temp;
  90.                    
  91.                 }
  92.                
  93.                 dvizi = dvizi.succ;
  94.             }
  95.         }
  96.  
  97.     }
  98.  
  99.     public static void brisi(DLL<Vraboten> lista, int minIznos) {
  100.         DLLNode<Vraboten> dvizi = lista.first;
  101.         while (dvizi != null) {
  102.             if (dvizi.element.plata < minIznos) {
  103.                 if (dvizi == lista.first) {
  104.                     lista.first = lista.first.succ;
  105.                     if(lista.first!=null)
  106.                         lista.first.pred = null;
  107.                     dvizi = lista.first;
  108.                  
  109.                 } else if (dvizi != lista.last) {
  110.                     DLLNode<Vraboten> p1 = dvizi.pred;
  111.                     DLLNode<Vraboten> p2 = dvizi.succ;
  112.                     p1.succ = p2;
  113.                     p2.pred = p1;
  114.                     dvizi = p2;
  115.                    
  116.                 } else {
  117.                    
  118.                    
  119.                     lista.last = lista.last.pred;
  120.                     if(lista.last!=null)
  121.                         lista.last.succ =null;
  122.                     dvizi = dvizi.succ;
  123.  
  124.                 }
  125.             } else {
  126.                 dvizi = dvizi.succ;
  127.             }
  128.         }
  129.     }
  130.  
  131.     public static void main(String[] args) {
  132.         DLL<Vraboten> lista = new DLL<>();
  133.         Scanner input = new Scanner(System.in);
  134.         int N = input.nextInt();
  135.         for (int i = 0; i < N; i++) {
  136.             int id = input.nextInt();
  137.             int plata = input.nextInt();
  138.             Vraboten v = new Vraboten(id, plata);
  139.             lista.insertLast(v);
  140.         }
  141.         int minimalenIznos = input.nextInt();
  142.         brisi(lista, minimalenIznos);
  143.         if(lista.first!=null)
  144.         {
  145.             sort(lista);
  146.             System.out.println(lista);
  147.         }
  148.            
  149.         else
  150.         {
  151.             System.out.println("nema");
  152.         }
  153.        
  154.     }
  155.  
  156. }
  157.  
  158. class Vraboten implements Comparable {
  159.  
  160.     int id;
  161.     int plata;
  162.  
  163.     public Vraboten(int id, int plata) {
  164.         this.id = id;
  165.         this.plata = plata;
  166.     }
  167.  
  168.     public Vraboten() {
  169.     }
  170.  
  171.     public String toString() {
  172.         return id + " " + plata;
  173.     }
  174.  
  175.     @Override
  176.     public int compareTo(Object t) {
  177.         Vraboten v = (Vraboten) t;
  178.         if (this.id > v.id) {
  179.             return 1;
  180.         }
  181.         if (this.id < v.id) {
  182.             return -1;
  183.         }
  184.         return 0;
  185.     }
  186. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement