Guest User

Untitled

a guest
May 1st, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 1.87 KB | None | 0 0
  1. public class LinkedSet<T>
  2. {
  3.     private class Node<T>
  4.     {
  5.         private T item;
  6.         private Node<T> next = null;
  7.        
  8.         public Node(T item, Node<T> next)
  9.         {
  10.             this.item = item;
  11.             this.next = next;
  12.         }
  13.     }
  14.    
  15.     private Node<T> head = null;
  16.     private int numItems = 0;
  17.    
  18.     int size()
  19.     {
  20.         return numItems;
  21.     }
  22.    
  23.     public boolean add(T toAdd)
  24.     {
  25.         if(head == null)
  26.         {
  27.             head = new Node<T>(toAdd, null);
  28.             numItems++;
  29.             return true;
  30.         }
  31.        
  32.         for(Node<T> checker = head;true;checker = checker.next)
  33.         {
  34.             if(checker.item.equals(toAdd))
  35.             {
  36.                 return false;
  37.             }
  38.             else if(checker.next == null)
  39.             {
  40.                 checker.next = new Node<T>(toAdd, null);
  41.                 numItems++;
  42.                 return true;
  43.             }
  44.         }
  45.     }
  46.    
  47.     public boolean remove(T toRemove)
  48.     {
  49.         if(head == null)
  50.         {
  51.             return false;
  52.         }
  53.         else if(head.item.equals(toRemove))
  54.         {
  55.             if(head.next != null)
  56.             {
  57.                 head = head.next;
  58.                 numItems--;
  59.                 return true;
  60.             }
  61.             else
  62.             {
  63.                 head = null;
  64.                 numItems--;
  65.                 return true;
  66.             }
  67.         }
  68.        
  69.         for(Node<T> checker = head;true;checker = checker.next)
  70.         {
  71.             if(checker.next == null)
  72.             {
  73.                 return false;
  74.             }
  75.             else if(checker.next.item.equals(toRemove))
  76.             {
  77.                 checker.next = checker.next.next;
  78.                 numItems--;
  79.                 return true;
  80.             }
  81.         }
  82.     }
  83.  
  84.     public boolean contains(T toCheck)
  85.     {
  86.         if(head == null)
  87.         {
  88.             return false;
  89.         }
  90.        
  91.         for(Node<T> checker = head;true;checker = checker.next)
  92.         {
  93.             if(checker.item.equals(toCheck))
  94.             {
  95.                 return true;
  96.             }
  97.             else if(checker.next == null)
  98.             {
  99.                 return false;
  100.             }
  101.         }
  102.     }
  103.    
  104.     public void put()
  105.     {
  106.         if(head == null)
  107.         {
  108.             return;
  109.         }
  110.        
  111.         String temp = "";
  112.        
  113.         for(Node<T> checker = head;true;checker = checker.next)
  114.         {
  115.             temp += checker.item.toString() + " ";
  116.            
  117.             if(checker.next == null)
  118.             {
  119.                 System.out.println(temp);
  120.                 return;
  121.             }
  122.         }
  123.     }
  124.    
  125. }
Add Comment
Please, Sign In to add comment