Advertisement
Guest User

NodeList.java

a guest
Aug 28th, 2012
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.37 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3.  
  4. public class NodeList
  5. {
  6.     private ArrayList<Node> nodes;
  7.  
  8.     public NodeList()
  9.     {
  10.         nodes = new ArrayList();
  11.     }
  12.  
  13.     public void clear()
  14.     {
  15.         nodes.clear();
  16.     }
  17.  
  18.     public Node getNode(int x, int y)
  19.     {
  20.         Node temp = new Node(x, y);
  21.         for (int i = 0; i < nodes.size(); i++)
  22.         {
  23.             Node n = nodes.get(i);
  24.            
  25.             if (n.equals(temp))
  26.             {
  27.                 return n;
  28.             }
  29.         }
  30.         return null;
  31.     }
  32.     public Node getLast()
  33.     {
  34.         return nodes.get(nodes.size() - 1);
  35.     }
  36.  
  37.     public void add(Node node)
  38.     {
  39.         nodes.add(node);
  40.     }
  41.  
  42.     public boolean contains(Node node)
  43.     {
  44.         for (int i = 0; i < nodes.size(); i++)
  45.         {
  46.             if (nodes.get(i).equals(node))
  47.             {
  48.                 return true;
  49.             }
  50.         }
  51.         return false;
  52.     }
  53.  
  54.     public boolean isEmpty()
  55.     {
  56.         return nodes.isEmpty();
  57.     }
  58.  
  59.     public Node getSmallest()
  60.     {
  61.         int f = Integer.MAX_VALUE;
  62.         Node smallestNode = null;
  63.         for (Node node : nodes)
  64.         {
  65.             if (f > node.totalCost)
  66.             {
  67.                 f = node.totalCost;
  68.                 smallestNode = node;
  69.             }
  70.         }
  71.         remove(smallestNode);
  72.         return smallestNode;
  73.     }
  74.  
  75.     public void remove(Node node)
  76.     {
  77.         for (int i = 0; i < nodes.size(); i++)
  78.         {
  79.             if (nodes.get(i).equals(node) && nodes.get(i).parentNode == node.parentNode)
  80.             {
  81.                 nodes.remove(i);
  82.                 return;
  83.             }
  84.         }
  85.     }
  86.  
  87.     public Node remove(int index)
  88.     {
  89.         return nodes.remove(index);
  90.     }
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement