如何获取graph中vertex坐标

jcjunjin 2011-06-30 11:43:13
这个是获取graph中顶点的方法
public Object[] getVertices(Object cells[])
{
if (cells != null)
{
ArrayList result = new ArrayList();
for (int i = 0; i < cells.length; i++)
if (isVertex(cells[i]))
result.add(cells[i]);
return result.toArray();
} else
{
return null;
}
}
在下面函数中我想获取第一个顶点的坐标,并根据此坐标设置图中所有顶点坐标,达到对齐的目。
void jButtonjuzhong_actionPerformed(ActionEvent e)
{
Object[] all = graph.getAll();
Object vertices[] = graph.getVertices(all);//获得所有顶点
vertices[0]//这里我想获得第一个定点的坐标,请问如何获取,请高手帮帮忙!
int verticescount = vertices.length;
for(int i = 1; i < verticescount; i++){
这里想依次设置其他顶点的坐标,使得图中的元素居中对齐 }
哪位高手帮帮忙,非常感谢!!!!
...全文
129 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
/* * 基于邻接边表实现图的顶点结构 */ package dsa; public class Vertex_List implements Vertex { //变量 protected Object info;//当前顶点存放的数据元素 protected Position vPosInV;//当前顶点在所属的图的顶点表V的位置 protected List outEdges;//关联边表:存放以当前顶点为尾的所有边(的位置) protected List inEdges;//关联边表:存放以当前顶点为头的所有边(的位置) protected int status;//(在遍历图等操作过程)顶点的状态 protected int dStamp;//时间标签:DFS过程该顶点被发现时的时刻 protected int fStamp;//时间标签:DFS过程该顶点被访问结束时的时刻 protected int distance;//到指定起点的距离:BFS、Dijkstra等算法所确定该顶点到起点的距离 protected Vertex bfsParent;//在最短距离树(BFS或BestFS)的父亲 //构造方法:在图G引入一个属性为x的新顶点 public Vertex_List(Graph G, Object x) { info = x;//数据元素 vPosInV = G.insert(this);//当前顶点在所属的图的顶点表V的位置 outEdges = new List_DLNode();//出边表 inEdges = new List_DLNode();//入边表 status = UNDISCOVERED; dStamp = fStamp = Integer.MAX_VALUE; distance = Integer.MAX_VALUE; bfsParent = null; } //返回当前顶点的信息 public Object getInfo() { return info; } //将当前顶点的信息更新为x,并返回原先的信息 public Object setInfo(Object x) { Object e = info; info = x; return e; } //返回当前顶点的出、入度 public int outDeg() { return outEdges.getSize(); } public int inDeg() { return inEdges.getSize(); } //返回当前顶点所有关联边、关联边位置的迭代器 public Iterator inEdges() { return inEdges.elements(); } public Iterator inEdgePositions() { return inEdges.positions(); } public Iterator outEdges() { return outEdges.elements(); } public Iterator outEdgePositions() { return outEdges.positions(); } //取当前顶点在所属的图的顶点集V的位置 public Position getVPosInV() { return vPosInV; } //读取、设置顶点的状态(DFS + BFS) public int getStatus() { return status; } public int setStatus(int s) { int ss = status; status = s; return ss; } //读取、设置顶点的时间标签(DFS) public int getDStamp() { return dStamp; } public int setDStamp(int s) { int ss = dStamp; dStamp = s; return ss; } public int getFStamp() { return fStamp; } public int setFStamp(int s) { int ss = fStamp; fStamp = s; return ss; } //读取、设置顶点至起点的最短距离(BFS) public int getDistance() { return distance; } public int setDistance(int s) { int ss = distance; distance = s; return ss; } //读取、设置顶点在的DFS、BFS、BestFS或MST树的父亲 public Vertex getBFSParent() { return bfsParent; } public Vertex setBFSParent(Vertex s) { Vertex ss = bfsParent; bfsParent = s; return ss; } }

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧