Advertisement
metalni

Aps 1. Kolokvium Kompanija

Nov 25th, 2020
1,086
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.30 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4.  
  5. class SLLNode {
  6.     protected int id;
  7.     protected int plata;
  8.     protected SLLNode succ;
  9.  
  10.     public SLLNode(int id,int plata, SLLNode succ) {
  11.         this.id = id;
  12.         this.plata=plata;
  13.         this.succ = succ;
  14.     }
  15.  
  16.  
  17. }
  18.  
  19. class SLL {
  20.     private SLLNode first;
  21.  
  22.     public SLL() {
  23.         // Construct an empty SLL
  24.         this.first = null;
  25.     }
  26.  
  27.     public void deleteList() {
  28.         first = null;
  29.     }
  30.  
  31.     public int length() {
  32.         int ret;
  33.         if (first != null) {
  34.             SLLNode tmp = first;
  35.             ret = 1;
  36.             while (tmp.succ != null) {
  37.                 tmp = tmp.succ;
  38.                 ret++;
  39.             }
  40.             return ret;
  41.         } else
  42.             return 0;
  43.  
  44.     }
  45.  
  46.  
  47.     public void insertFirst(int id, int plata) {
  48.         SLLNode ins = new SLLNode(id,plata, first);
  49.         first = ins;
  50.     }
  51.  
  52.     public void insertLast(int id,int plata) {
  53.         if (first != null) {
  54.             SLLNode tmp = first;
  55.             while (tmp.succ != null)
  56.                 tmp = tmp.succ;
  57.             SLLNode ins = new SLLNode(id, plata, null);
  58.             tmp.succ = ins;
  59.         } else {
  60.             insertFirst(id,plata);
  61.         }
  62.     }
  63.  
  64.     public SLLNode getFirst() {
  65.         return first;
  66.     }
  67.  
  68.  
  69.     public SLL brisi_pomali_od(int iznos) {
  70.         SLLNode current = this.first;
  71.         SLL newList = new SLL();
  72.         while(current != null){
  73.             if(current.plata >= iznos)
  74.                 newList.insertLast(current.id, current.plata);
  75.             current = current.succ;
  76.         }
  77.  
  78.         return newList;
  79.     }
  80.  
  81.     public SLL sortiraj_opagacki() {
  82.         SLLNode curr = this.getFirst();
  83.         while(curr != null){
  84.             SLLNode min = curr;
  85.             SLLNode subCurr = curr.succ;
  86.             while(subCurr != null){
  87.                 if(min.id < subCurr.id)
  88.                     min = subCurr;
  89.                 subCurr = subCurr.succ;
  90.             }
  91.  
  92.             int tmp = curr.id;
  93.             curr.id = min.id;
  94.             min.id = tmp;
  95.  
  96.             tmp = curr.plata;
  97.             curr.plata = min.plata;
  98.             min.plata = tmp;
  99.  
  100.             curr = curr.succ;
  101.         }
  102.         return this;
  103.     }
  104.     public void pecati (SLL lista)
  105.     {
  106.         SLLNode p=lista.first;
  107.         if(p == null)
  108.             System.out.println("nema");
  109.         while(p!=null)
  110.         {
  111.             System.out.println(p.id+" "+p.plata);
  112.             p=p.succ;
  113.         }
  114.     }
  115.  
  116. }
  117. public class SLLKompanija {
  118.     public static void main(String[] args) throws IOException {
  119.  
  120.         SLL lista1 = new SLL();
  121.         BufferedReader stdin = new BufferedReader(new InputStreamReader(
  122.                 System.in));
  123.         String s = stdin.readLine();
  124.         int N = Integer.parseInt(s);
  125.  
  126.         for (int i = 0; i < N; i++) {
  127.             s=stdin.readLine();
  128.             String s1=stdin.readLine();
  129.             lista1.insertLast(Integer.parseInt(s),Integer.parseInt(s1));
  130.         }
  131.         s = stdin.readLine();
  132.  
  133.         lista1=lista1.brisi_pomali_od(Integer.parseInt(s));
  134.         if(lista1!=null)
  135.         {
  136.             lista1=lista1.sortiraj_opagacki();
  137.             lista1.pecati(lista1);
  138.         }
  139.  
  140.     }
  141. }
  142.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement