Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package generics;
- import java.util.*;
- public class Graph<T> {
- /*erstell dir ne hilfsklasse
- die 2 node objekte speichert
- und überschreib die hash funktion
- indem du den hash von o1 + hash o2 nimmst
- und nutz dann als datensturktur ein set*/
- private HashSet<Edge> nodeMap = new HashSet<Edge>();
- public void addEdge(T fromNode, T toNode)
- {
- Edge tmp = new Edge(fromNode, toNode);
- nodeMap.add(tmp);
- }
- public boolean contains(T node)
- {
- for(Edge edge : nodeMap)
- {
- if(edge.getNode1().equals(node) || edge.getNode2().equals(node))
- {
- return true;
- }
- }
- return false;
- }
- /*public List<T> findPath(T startNode, T endNode)
- {
- List<T> route = new ArrayList<T>();
- if(!nodeMap.containsKey(startNode))
- {
- return null;
- }
- else if(nodeMap.get(startNode).contains(endNode))
- {
- route.add(startNode);
- route.add(endNode);
- return route;
- }
- else
- {
- List<T> tmp = this.recursiveFind(nodeMap.get(startNode),endNode);
- if(!tmp.equals(null))
- {
- route.add(startNode);
- for(T key : tmp)
- {
- route.add(key);
- }
- return route;
- }
- }
- return null;
- }
- private List<T> recursiveFind(List<T> list, T endNode)
- {
- if(list.equals(null))
- {
- return null;
- }
- for(T node : list)
- {
- List<T> tmpRoute = new ArrayList<T>();
- if(nodeMap.get(node).contains(endNode))
- {
- tmpRoute.add(node);
- tmpRoute.add(endNode);
- return tmpRoute;
- }
- else
- {
- List<T> tmp = this.recursiveFind(nodeMap.get(node), endNode);
- if(!tmp.equals(null))
- {
- tmpRoute.add(node);
- for(T key : tmp)
- {
- tmpRoute.add(key);
- }
- return tmpRoute;
- }
- }
- }
- return null;
- }*/
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement