三、Social Network
1.题意理解:
就是一个图,数据结构里学过,但要用面向对象的方法构造
①有FriendshipGraph类 和 Person类,人名不重复
②支持拓展到无向图
③getDistance方法返回最短路径,或-1
④不使用static,在该使用private的地方用private
⑤能够正确的处理异常
2.实现FriendshipGraph类
要实现的方法:
graph.addVertex(ross);
graph.addEdge(rachel, ross);
graph.getDistance(rachel, ross);
代码实现:
①类型:在关系图中,person应该用LIst形式存储;要实现名字不重复,要另建一个表来存储名字
public ArrayList<Person> person_list = new ArrayList<Person>();
public HashSet<String> name_flag = new HashSet<String>();
②方法 addVertex();
public void addVertex(Person new_person)
{
/*判断是否重名*/
if(name_flag.contains(new_person.getName()))
{
System.out.println("