Advertisement
dzocesrce

[APS] Factory

Aug 26th, 2023
385
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.92 KB | None | 0 0
  1. // juni 2022 - termin 1
  2.  
  3. import javax.xml.stream.FactoryConfigurationError;
  4. import java.util.NoSuchElementException;
  5. import java.util.Scanner;
  6.  
  7. public class Factory
  8. {
  9.     public static void orders(SLL<Order> active, SLL<Order> shipping)
  10.     {
  11.         SLLNode<Order> temp1= active.getFirst();
  12.         SLLNode<Order> temp2= shipping.getFirst();
  13.         int najvazna_id=temp1.element.getId();
  14.         int najvazna= temp1.element.getPriority();
  15.         temp1=temp1.succ;
  16.         while(temp1!=null){
  17.             if(temp1.element.getPriority()<=najvazna){
  18.                 najvazna=temp1.element.getPriority();
  19.                 najvazna_id=temp1.element.getId();
  20.             }
  21.             temp1=temp1.succ;
  22.         }
  23.         temp1= active.getFirst();
  24.         while(true){
  25.             if(temp1.element.getId()==najvazna_id){
  26.                 shipping.insertLast(new Order(temp1.element.getId(),temp1.element.getProduct(),temp1.element.getPriority()));
  27.                 active.delete(temp1);
  28.                 break;
  29.             }
  30.             temp1=temp1.succ;
  31.         }
  32.  
  33.     }
  34.  
  35.     public static void main(String[] args)
  36.     {
  37.         SLL<Order> active = new SLL<Order>();
  38.         SLL<Order> shipping = new SLL<Order>();
  39.         Scanner input = new Scanner(System.in);
  40.  
  41.         int n = input.nextInt();
  42.         int m = input.nextInt();
  43.         for(int i=0;i<n;i++)
  44.         {
  45.             int id = input.nextInt();
  46.             int product = input.nextInt();
  47.             int priority = input.nextInt();
  48.             Order nov = new Order(id,product,priority);
  49.             active.insertLast(nov);
  50.         }
  51.         for(int i=0;i<m;i++)
  52.         {
  53.             int id = input.nextInt();
  54.             int product = input.nextInt();
  55.             int priority = input.nextInt();
  56.             Order nov2 = new Order(id,product,priority);
  57.             shipping.insertLast(nov2);
  58.         }
  59.  
  60.         orders(active,shipping);
  61.         System.out.println(active.toString());
  62.         System.out.println(shipping.toString());
  63.     }
  64. }
  65.  
  66. class Order
  67. {
  68.     private int id;
  69.     private int product;
  70.     private int priority;
  71.  
  72.     public Order(int id, int product, int priority) {
  73.         this.id = id;
  74.         this.product = product;
  75.         this.priority = priority;
  76.     }
  77.  
  78.     public int getId() {
  79.         return id;
  80.     }
  81.  
  82.     public int getProduct() {
  83.         return product;
  84.     }
  85.  
  86.     public int getPriority() {
  87.         return priority;
  88.     }
  89.  
  90.     @Override
  91.     public String toString()
  92.     {
  93.         return String.valueOf(id);
  94.     }
  95.  
  96. }
  97.  
  98. class SLL<E> {
  99.     private SLLNode<E> first;
  100.  
  101.     public SLL() {
  102.         // Construct an empty SLL
  103.         this.first = null;
  104.     }
  105.  
  106.     public void deleteList() {
  107.         first = null;
  108.     }
  109.  
  110.     public int length() {
  111.         int ret;
  112.         if (first != null) {
  113.             SLLNode<E> tmp = first;
  114.             ret = 1;
  115.             while (tmp.succ != null) {
  116.                 tmp = tmp.succ;
  117.                 ret++;
  118.             }
  119.             return ret;
  120.         } else
  121.             return 0;
  122.  
  123.     }
  124.  
  125.     @Override
  126.     public String toString() {
  127.         String ret = new String();
  128.         if (first != null) {
  129.             SLLNode<E> tmp = first;
  130.             ret += tmp + " ";
  131.             while (tmp.succ != null) {
  132.                 tmp = tmp.succ;
  133.                 ret += tmp + " ";
  134.             }
  135.         } else
  136.             ret = "Prazna lista!!!";
  137.         return ret;
  138.     }
  139.  
  140.     public void insertFirst(E o) {
  141.         SLLNode<E> ins = new SLLNode<E>(o, first);
  142.         first = ins;
  143.     }
  144.  
  145.     public void insertAfter(E o, SLLNode<E> node) {
  146.         if (node != null) {
  147.             SLLNode<E> ins = new SLLNode<E>(o, node.succ);
  148.             node.succ = ins;
  149.         } else {
  150.             System.out.println("Dadenot jazol e null");
  151.         }
  152.     }
  153.  
  154.     public void insertBefore(E o, SLLNode<E> before) {
  155.  
  156.         if (first != null) {
  157.             SLLNode<E> tmp = first;
  158.             if(first==before){
  159.                 this.insertFirst(o);
  160.                 return;
  161.             }
  162.             //ako first!=before
  163.             while (tmp.succ != before)
  164.                 tmp = tmp.succ;
  165.             if (tmp.succ == before) {
  166.                 SLLNode<E> ins = new SLLNode<E>(o, before);
  167.                 tmp.succ = ins;
  168.             } else {
  169.                 System.out.println("Elementot ne postoi vo listata");
  170.             }
  171.         } else {
  172.             System.out.println("Listata e prazna");
  173.         }
  174.     }
  175.  
  176.     public void insertLast(E o) {
  177.         if (first != null) {
  178.             SLLNode<E> tmp = first;
  179.             while (tmp.succ != null)
  180.                 tmp = tmp.succ;
  181.             SLLNode<E> ins = new SLLNode<E>(o, null);
  182.             tmp.succ = ins;
  183.         } else {
  184.             insertFirst(o);
  185.         }
  186.     }
  187.  
  188.     public E deleteFirst() {
  189.         if (first != null) {
  190.             SLLNode<E> tmp = first;
  191.             first = first.succ;
  192.             return tmp.element;
  193.         } else {
  194.             System.out.println("Listata e prazna");
  195.             return null;
  196.         }
  197.     }
  198.  
  199.     public E delete(SLLNode<E> node) {
  200.         if (first != null) {
  201.             SLLNode<E> tmp = first;
  202.             if(first ==node){
  203.                 return this.deleteFirst();
  204.             }
  205.             while (tmp.succ != node && tmp.succ.succ != null)
  206.                 tmp = tmp.succ;
  207.             if (tmp.succ == node) {
  208.                 tmp.succ = tmp.succ.succ;
  209.                 return node.element;
  210.             } else {
  211.                 System.out.println("Elementot ne postoi vo listata");
  212.                 return null;
  213.             }
  214.         } else {
  215.             System.out.println("Listata e prazna");
  216.             return null;
  217.         }
  218.  
  219.     }
  220.  
  221.     public SLLNode<E> getFirst()
  222.     {
  223.         return first;
  224.     }
  225.  
  226.  
  227.  
  228.     public SLLNode<E> find(E o) {
  229.         if (first != null) {
  230.             SLLNode<E> tmp = first;
  231.             while (tmp.element != o && tmp.succ != null)
  232.                 tmp = tmp.succ;
  233.             if (tmp.element == o) {
  234.                 return tmp;
  235.             } else {
  236.                 System.out.println("Elementot ne postoi vo listata");
  237.             }
  238.         } else {
  239.             System.out.println("Listata e prazna");
  240.         }
  241.         return first;
  242.     }
  243.  
  244.  
  245. }
  246. class SLLNode<E> {
  247.     protected E element;
  248.     protected SLLNode<E> succ;
  249.  
  250.     public SLLNode(E elem, SLLNode<E> succ) {
  251.         this.element = elem;
  252.         this.succ = succ;
  253.     }
  254.  
  255.     @Override
  256.     public String toString() {
  257.         return element.toString();
  258.     }
  259. }
  260.  
  261. /*
  262. TestCase #1
  263. 3
  264. 2
  265. 550 991 2
  266. 116 8695 2
  267. 469 608 3
  268. 491 355 3
  269. 349 8380 7
  270.  
  271. 550 469
  272. 491 349 116
  273.  
  274. TestCase #2
  275. 4
  276. 2
  277. 550 991 2
  278. 116 865 2
  279. 469 605 1
  280. 505 123 5
  281. 491 355 3
  282. 349 8380 7
  283.  
  284. 550 116 505
  285. 491 349 469
  286.  
  287. TestCase #3
  288. 6
  289. 3
  290. 550 991 2
  291. 116 865 4
  292. 469 605 1
  293. 327 991 2
  294. 505 123 3
  295. 808 145 4
  296. 500 129 5
  297. 491 355 3
  298. 349 8380 7
  299.  
  300. 550 116 327 505 808
  301. 500 491 349 469
  302. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement