Advertisement
Guest User

LinkedList

a guest
Oct 22nd, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.10 KB | None | 0 0
  1. package it.uniupo.disit.se.lab01;
  2.  
  3. public class LinkedList {
  4.    
  5.     private NodeList head = null;
  6.    
  7.     public LinkedList() {
  8.        
  9.     }
  10.    
  11.     public LinkedList(String string) {
  12.         if(!string.isEmpty()) {
  13.             String[] array = string.split(" ");
  14.  
  15.             for(String element : array)
  16.                 addLast(Double.parseDouble(element));          
  17.         }
  18.     }
  19.    
  20.     @Override
  21.     public String toString() {
  22.         StringBuilder result = new StringBuilder("[");
  23.         NodeList current = head;
  24.        
  25.         while(current != null) {
  26.             result.append(current.getValue()).append(" ");
  27.             current = current.next();
  28.         }
  29.        
  30.         return result.toString().trim() + "]";
  31.     }
  32.  
  33.     public void addLast(double value) {
  34.         if(head == null)
  35.             head = new NodeList(value);
  36.         else {
  37.             NodeList current = head;
  38.             while(current.next() != null)
  39.                 current = current.next();
  40.            
  41.             current.setNext(new NodeList(value));
  42.         }
  43.     }
  44.  
  45.     public void addFirst(double value) {
  46.         if(head == null)
  47.             head = new NodeList(value);
  48.         else {
  49.             NodeList current = new NodeList(value);
  50.             current.setNext(head);
  51.             head = current;
  52.         }
  53.     }
  54.  
  55.     public boolean removeFirst() {
  56.         if(head == null)
  57.             return false;
  58.        
  59.         head = head.next();    
  60.         return true;
  61.     }
  62.  
  63.     public boolean removeLast() {
  64.         if(head == null)
  65.             return false;
  66.  
  67.         if(head.next() == null) {
  68.             head = null;
  69.             return true;
  70.         }
  71.  
  72.         NodeList current = head;
  73.         while(current.next().next() != null)
  74.             current = current.next();
  75.        
  76.         current.setNext(null);
  77.         return true;
  78.     }
  79.  
  80.     public boolean remove(double value) {
  81.        
  82.         if(head != null) {
  83.             if(head.getValue() == value) {
  84.                 head = head.next();
  85.                 return true;
  86.             }
  87.                
  88.             NodeList current = head;
  89.             while(current.next() != null) {
  90.                 if(current.next().getValue() == value) {
  91.                     current.setNext(current.next().next());
  92.                     return true;
  93.                 }
  94.                 current = current.next();
  95.             }
  96.         }
  97.         return false;
  98.     }
  99.  
  100.     public double mean() {
  101.         if(head == null) return 0;
  102.        
  103.         double mean = 0, cnt = 0;
  104.        
  105.         NodeList current = head;
  106.         while(current != null) {
  107.             mean += current.getValue();
  108.             cnt++;
  109.             current = current.next();
  110.         }
  111.        
  112.         return mean/cnt;
  113.     }  
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement