Advertisement
evitanasevska

Компанија

Nov 1st, 2016
2,794
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.69 KB | None | 0 0
  1. /* Компанија Problem 2 (1 / 9)
  2. Податоците за плати на вработените во една компанија привремено се чуваат во двострано поврзана листа. Во секој јазол од листата се чува единствен ID на вработениот и неговата плата. Потребно е да се отстранат сите вработени со помали плати од даден износ, а остатокот да се прикажат во опаѓачки редослед во однос на ID-то.
  3.  
  4. Во првиот ред од влезот е даден бројот на вработени, потоа наизменично се дадени ID-та и платата за секој од вработените и во последниот ред е износот во однос на кој ќе се отстрануваат вработените. На излез се печати листа (ID, плата) во опаѓачки редослед според ID-то на секој од вработените.
  5.  
  6. Доколку нема вработени со плата поголема од дадената да се испечати: nema
  7.  
  8. Име на класата: DLLKompanija
  9.  
  10. Sample input
  11. 3
  12. 1111
  13. 19000
  14. 2222
  15. 22000
  16. 1155
  17. 60000
  18. 30000
  19.  
  20. Sample output
  21. 1155 60000
  22. */
  23.  
  24. import java.util.Scanner;
  25.  
  26. class DLLNode<E>
  27. {
  28.     E element;
  29.     DLLNode<E> succ;
  30.     DLLNode<E> pred;
  31.  
  32.     public DLLNode(E element, DLLNode<E> succ, DLLNode<E> pred) {
  33.         this.element = element;
  34.         this.succ = succ;
  35.         this.pred = pred;
  36.     }
  37.    
  38. }
  39. class DLL<E>
  40. {
  41.     DLLNode<E> first;
  42.     DLLNode<E> last;
  43.  
  44.     public DLL() {
  45.         first = null;
  46.         last = null;
  47.     }
  48.     public void insertFirst(E element)
  49.     {
  50.         DLLNode<E> nov = new DLLNode<>(element,first,null);
  51.         if(first ==null)
  52.         {
  53.             last =nov;
  54.         }
  55.         else
  56.         {
  57.             first.pred = nov;
  58.         }
  59.         first = nov;
  60.     }
  61.     public void insertLast(E element)
  62.     {
  63.         DLLNode<E> nov = new DLLNode<>(element,null,last);
  64.         if(last==null)
  65.         {
  66.             first = nov;
  67.         }
  68.         else
  69.         {
  70.             last.succ = nov;
  71.         }
  72.         last =nov;
  73.     }
  74.     public String toString()
  75.     {
  76.         String s = new String();
  77.         DLLNode<E> dvizi = first;
  78.         while(dvizi!=null)
  79.         {
  80.             s+=dvizi.element+"\n";
  81.             dvizi = dvizi.succ;
  82.         }
  83.         return s;
  84.     }
  85.     public int size()
  86.     {
  87.         int br=0;
  88.         DLLNode<E> dvizi = first;
  89.         while(dvizi!=null)
  90.         {
  91.             br++;
  92.             dvizi = dvizi.succ;
  93.         }
  94.         return br;
  95.     }
  96.    
  97. }
  98. public class DLLKompanija {
  99.     public static void sortiraj(DLL<Vraboten> lista)
  100.     {
  101.         int n = lista.size();
  102.         for(int i=0;i<n;i++)
  103.         {
  104.             DLLNode<Vraboten> dvizi = lista.first;
  105.            
  106.             while(dvizi.succ!=null)
  107.             {
  108.                 if(dvizi.element.ID<dvizi.succ.element.ID)
  109.                 {
  110.                     int tempId,tempPlata;
  111.                     tempId = dvizi.element.ID;
  112.                     dvizi.element.ID = dvizi.succ.element.ID;
  113.                     dvizi.succ.element.ID = tempId;
  114.                    
  115.                     tempPlata = dvizi.element.plata;
  116.                     dvizi.element.plata = dvizi.succ.element.plata;
  117.                     dvizi.succ.element.plata = tempPlata;
  118.                    
  119.                 }
  120.                 dvizi = dvizi.succ;
  121.             }
  122.         }
  123.     }
  124.     public static void brisiVraboteni(DLL<Vraboten> lista , int minIznos)
  125.     {
  126.         DLLNode<Vraboten> dvizi = lista.first;
  127.         while(dvizi!=null)
  128.         {
  129.             if(dvizi.element.plata<minIznos)
  130.             {
  131.                 if(dvizi==lista.first)
  132.                 {
  133.                     lista.first = lista.first.succ;
  134.                     if(lista.first!=null)
  135.                     {
  136.                         lista.first.pred = null;
  137.                     }
  138.                     dvizi = lista.first;
  139.                 }
  140.                 else if(dvizi==lista.last)
  141.                 {
  142.                     lista.last = lista.last.pred;
  143.                     dvizi.pred.succ = null;
  144.                     dvizi = null;
  145.                 }
  146.                 else
  147.                 {
  148.                     DLLNode<Vraboten> p1 = dvizi.pred;
  149.                     DLLNode<Vraboten> p2 = dvizi.succ;
  150.                     p1.succ = p2;
  151.                     p2.pred = p1;
  152.                     dvizi = p2;
  153.                 }
  154.             }
  155.             else
  156.             {
  157.                 dvizi =dvizi.succ;
  158.             }
  159.         }
  160.     }
  161.     public static void main(String[] args) {
  162.         DLL<Vraboten> lista = new DLL<>();
  163.         Scanner input = new Scanner(System.in);
  164.         int N = input.nextInt();
  165.         for (int i = 0; i < N; i++) {
  166.             int id = input.nextInt();
  167.             int plata = input.nextInt();
  168.             Vraboten v = new Vraboten(id, plata);
  169.             lista.insertLast(v);
  170.         }
  171.         int minimalenIznos = input.nextInt();
  172.         brisiVraboteni(lista, minimalenIznos);
  173.         if(lista.first==null)
  174.             System.out.println("nema");
  175.         else
  176.         {
  177.             sortiraj(lista);
  178.             System.out.println(lista);
  179.         }
  180.        
  181.        
  182.     }
  183.    
  184. }
  185. class Vraboten
  186. {
  187.     int ID;
  188.     int plata;
  189.  
  190.     public Vraboten(int ID, int plata) {
  191.         this.ID = ID;
  192.         this.plata = plata;
  193.     }
  194.     public String toString()
  195.     {
  196.         return ID + " "+plata;
  197.     }
  198. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement