Java数据结构——图-邻接表
用图-邻接表实现以下功能。有类似需求的也可以参考一下。

结点的关系图如下:

结点类和有参构造方法
/**
* 弧结点,表结点
*/
class arcNode {
String name; //存储相关人物的名字
String relation; //存储相关人物和主人公的关系
arcNode nextNode; //指向下一个结点的地址域
public arcNode(String name, String relation){
this.name = name;
this.relation = relation;
}
}
/**
* 顶点,表头结点
*/
class vexNode {
int E = 0; //表示连接这个顶点的边的数量
String name; //存储主人公名字
arcNode firstArc; //指针域
/**
* 尾插法,为表头结点添加邻接点和边的信息
* @param index:相关人物对应的顶点下标
* @param relation:相关人物和主人公的关系
* **/
public void linkedLast(int index,String relation){
arcNode newNode = new arcNode(vexs[index].name,relation);
if (this.E==0){
this.firstArc = newNode;
}else {
//生成一个临时指针遍历至最后一个表结点
arcNode tempNode = this.firstArc;
while (tempNode.nextNode != null){
tempNode = tempNode.nextNode;
}
//将新结点接到最后一个结点的后面
tempNode.nextNode = newNode;
}
this.E++;
}
}
/**
* 顶点数组
*/
vexNode[] vexs;
/**
*

本文介绍如何使用Java实现图的邻接表数据结构,包括结点类的定义、Graph类的成员方法以及测试数据和完整源码展示,适合需要理解图数据结构的开发者参考。
最低0.47元/天 解锁文章
4003

被折叠的 条评论
为什么被折叠?



