package org.jzy3d.maths.graphs;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class DefaultGraph implements IGraph{
@Override
public void addVertex(V vertex) {
vertices.add(vertex);
}
@Override
public V getVertex(int i){
return vertices.get(i);
}
@Override
public List getVertices(){
return vertices;
}
/*********************************/
@Override
public void addEdge(E edge, V v1, V v2) {
edges.add(edge);
edgeStart.put(edge, v1);
edgeStop.put(edge, v2);
}
@Override
public List getEdges(){
return edges;
}
@Override
public V getEdgeStartVertex(E e) {
return edgeStart.get(e);
}
@Override
public V getEdgeStopVertex(E e) {
return edgeStop.get(e);
}
/*********************************/
@Override
public V getRandomVertex(){
int id = (int) (Math.random() * vertices.size());
return getVertex( id );
}
/*********************************/
protected List vertices = new ArrayList();
protected List edges = new ArrayList();
protected Map edgeStart = new HashMap();
protected Map edgeStop = new HashMap();
}
Ads help maintain this website.