Advertisement
Guest User

Untitled

a guest
Feb 13th, 2016
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.64 KB | None | 0 0
  1.    public KeyedItem remove()
  2.    {
  3.         //Needs to remove the smallest item in the list    
  4.         Node curr = head;
  5.         KeyedItem currItem = (KeyedItem) curr.getItem();
  6.         Node next = head.getNext();
  7.         KeyedItem nextItem;
  8.         Node prev = null;
  9.         prev.setNext(curr);
  10.         KeyedItem storeItem;
  11.         int compare;
  12.    
  13.         while (curr.getNext() != null) {
  14.             currItem = (KeyedItem) curr.getItem();
  15.             nextItem = (KeyedItem) next.getItem();
  16.            
  17.             compare = currItem.getKey().compareTo(nextItem.getKey());
  18.            
  19.             if (compare < 0) {
  20.                 return currItem;
  21.             } else {
  22.                 prev = prev.getNext();
  23.                 curr = curr.getNext();
  24.                 next = next.getNext();
  25.             }
  26.         }
  27.    
  28.         return currItem;       
  29.    }
  30.  
  31.    private Node locateNodeAdd(KeyedItem item)
  32.    {
  33.        
  34.       //find the insertion location (remember FIFO for duplicates)
  35.        
  36.         Node curr = head;
  37.         KeyedItem currItem;
  38.        
  39.         while (curr != null) {
  40.             currItem = (KeyedItem) curr.getItem();
  41.             int compare = currItem.getKey().compareTo(item.getKey());  
  42.            
  43.             if (compare < 0 ) {
  44.                 return curr;
  45.             } else {
  46.                 curr = curr.getNext();
  47.             }
  48.         }
  49.         return curr;
  50.    }
  51.  
  52.  
  53.    public void add(KeyedItem item)
  54.    {
  55.       Node prev = locateNodeAdd(item);
  56.  
  57.       if (prev == null)
  58.       {
  59.          //insert the new node containing the new item at the beginning of the list
  60.          Node node = new Node(item);
  61.          node.setNext(head);
  62.          head = node;
  63.       }
  64.       else
  65.       {
  66.          //insert the new node containing the new item after the node that prev references
  67.          Node node = new Node(item);
  68.          node.setNext(prev.getNext());
  69.          prev.setNext(node);
  70.       }
  71.  
  72.       size++;
  73.    }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement