Advertisement
AnaGocevska

FULL PRO <3

Oct 20th, 2015
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.69 KB | None | 0 0
  1. package Listi;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class Listi {
  6.    
  7.    
  8.     public static void pecati(Array<Double> niza)
  9.     {
  10.         for(int i=0; i<niza.getLength()-1; i++)
  11.         {
  12.             System.out.print(niza.get(i)+" ");
  13.         }
  14.         System.out.print(niza.get(niza.getLength()-1));
  15.     }
  16.    
  17.     public static void pecati(SLL<Double> list)
  18.     {
  19.         SLLNode<Double> tmp = list.getFirst();
  20.        
  21.         while(tmp.succ != null)
  22.         {
  23.             System.out.print(tmp.element + " ");
  24.             tmp = tmp.succ;
  25.         }
  26.         System.out.print(tmp.element);
  27.     }
  28.    
  29.     public static double maxElement(SLL<Double> list)
  30.     {
  31.         SLLNode<Double> tmp = list.getFirst();
  32.         double maxi = list.getFirst().element;
  33.        
  34.         while(tmp != null)
  35.         {
  36.             if(tmp.element.compareTo(maxi)==1)
  37.             {
  38.                 maxi = tmp.element;
  39.             }
  40.             tmp = tmp.succ;
  41.         }
  42.         return maxi;
  43.     }
  44.    
  45.     public static double minElement(SLL<Double> list)
  46.     {
  47.         SLLNode<Double> tmp = list.getFirst();
  48.        
  49.         double mini = list.getFirst().element;
  50.        
  51.         while(tmp != null)
  52.         {
  53.             if(tmp.element.compareTo(mini)==-1)
  54.             {
  55.                 mini=tmp.element;
  56.             }
  57.             tmp = tmp.succ;
  58.         }
  59.         return mini;
  60.     }
  61.    
  62.     public static double aritmeticka(SLL<Double> list)
  63.     {
  64.         SLLNode<Double> tmp = list.getFirst();
  65.         double sum=0;
  66.        
  67.         while(tmp != null)
  68.         {
  69.             sum+=tmp.element;
  70.             tmp = tmp.succ;
  71.         }
  72.         int k = list.length();
  73.         double prosek = (double)sum/k;
  74.         return prosek;
  75.     }
  76.    
  77.     public static SLL<Double> duplikati(SLL<Double> list)
  78.     {
  79.         SLLNode<Double> i = list.getFirst();
  80.         SLLNode<Double> j = i.succ;
  81.        
  82.         while(i != null)
  83.         {
  84.             j = i.succ;
  85.             while(j != null)
  86.             {
  87.                 if(i.element.equals(j.element))
  88.                 {
  89.                     SLLNode<Double> tmp = j;
  90.                     list.delete(tmp);
  91.                 }
  92.                 j = j.succ;
  93.             }
  94.             i = i.succ;
  95.         }
  96.        
  97.         return list;
  98.     }
  99.    
  100.    
  101.     public static SLL<Double> sort(SLL<Double> list)
  102.     {
  103.         SLLNode<Double> i = list.getFirst();
  104.         SLLNode<Double> j = i.succ;
  105.        
  106.         while(i != null)
  107.         {
  108.             j = i.succ;
  109.             while(j != null)
  110.             {
  111.                 if(i.element.compareTo(j.element)==1)
  112.                 {
  113.                     double tmp = i.element;
  114.                     i.element = j.element;
  115.                     j.element = tmp;
  116.                 }
  117.                 j = j.succ;
  118.             }
  119.             i = i.succ;
  120.         }
  121.         return list;
  122.     }
  123.    
  124.     public static SLL<Double> transform (Array<Double> niza)
  125.     {
  126.         SLL<Double> list = new SLL<Double>();
  127.         for(int i=0; i<niza.getLength(); i++)
  128.         {
  129.             list.insertLast(niza.get(i));
  130.         }
  131.         return list;
  132.     }
  133.      //transformiranje od lista vo niza
  134.     public static Array<Double> transform (SLL<Double> list)
  135.     {
  136.         Array<Double> niza = new Array<Double>(list.length());
  137.        
  138.         SLLNode<Double> tmp = list.getFirst();
  139.        
  140.         int i=0;
  141.         while(tmp != null)
  142.         {
  143.             niza.set(i, tmp.element);
  144.             tmp = tmp.succ;
  145.             i++;
  146.         }
  147.         return niza;
  148.     }
  149.            
  150.            
  151.     public static void main (String [] args)
  152.     {
  153.         SLL<Double> list = new SLL<Double>();
  154.         Scanner s = new Scanner(System.in);
  155.        
  156.        
  157.         int n;
  158.         n = s.nextInt();
  159.        
  160.         Array<Double> niza;
  161.         niza = new Array<Double>(n);
  162.         System.out.println("Vnesi niza: ");
  163.         for(int i=0; i<n; i++)
  164.         {
  165.             niza.set(i, s.nextDouble());
  166.         }
  167.         System.out.println("Vnesi lista: ");
  168.         for(int i=0; i<n; i++)
  169.         {
  170.             list.insertLast(s.nextDouble());
  171.         }
  172.        
  173.         System.out.println("Od lista vo niza: ");
  174.         Array<Double> transNiza = transform(list);
  175.         pecati(transNiza);
  176.         System.out.println("\nOd niza vo lista: ");
  177.         SLL<Double> transLista = transform(niza);
  178.         pecati(transLista);
  179.         System.out.println("\nMax element: " + maxElement(list));
  180.         System.out.println("\nMin element: " + minElement(list));
  181.         System.out.println("\nAritmetichka sredina: " + aritmeticka(list));
  182.         System.out.println("\nSortiranje: " + sort(list));
  183.         System.out.println("\nBrishenje duplikati: " + duplikati(list));
  184.     }
  185.  
  186. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement