LAB1实验记录-3

本文记录了关于社交网络的编程实验,通过创建FriendshipGraph类和Person类,实现无向图并支持最短路径计算。文章详细描述了类的设计,包括addVertex、addEdge、getDistance等方法的实现,并探讨了测试用例的设计。
摘要由CSDN通过智能技术生成

三、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("
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值