Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public KeyedItem remove()
- {
- //Needs to remove the smallest item in the list
- Node curr = head;
- KeyedItem currItem = (KeyedItem) curr.getItem();
- Node next = head.getNext();
- KeyedItem nextItem;
- Node prev = null;
- prev.setNext(curr);
- KeyedItem storeItem;
- int compare;
- while (curr.getNext() != null) {
- currItem = (KeyedItem) curr.getItem();
- nextItem = (KeyedItem) next.getItem();
- compare = currItem.getKey().compareTo(nextItem.getKey());
- if (compare < 0) {
- return currItem;
- } else {
- prev = prev.getNext();
- curr = curr.getNext();
- next = next.getNext();
- }
- }
- return currItem;
- }
- private Node locateNodeAdd(KeyedItem item)
- {
- //find the insertion location (remember FIFO for duplicates)
- Node curr = head;
- KeyedItem currItem;
- while (curr != null) {
- currItem = (KeyedItem) curr.getItem();
- int compare = currItem.getKey().compareTo(item.getKey());
- if (compare < 0 ) {
- return curr;
- } else {
- curr = curr.getNext();
- }
- }
- return curr;
- }
- public void add(KeyedItem item)
- {
- Node prev = locateNodeAdd(item);
- if (prev == null)
- {
- //insert the new node containing the new item at the beginning of the list
- Node node = new Node(item);
- node.setNext(head);
- head = node;
- }
- else
- {
- //insert the new node containing the new item after the node that prev references
- Node node = new Node(item);
- node.setNext(prev.getNext());
- prev.setNext(node);
- }
- size++;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement