From c52a45edbbd41b55b3b4b7d86b6f4dcdcc0309a5 Mon Sep 17 00:00:00 2001 From: weishx <2642138150@qq.com> Date: Sat, 29 Jun 2024 00:27:49 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=99=E9=82=BB=E6=8E=A5=E8=A1=A8=E7=9A=84?= =?UTF-8?q?=E5=9B=BE=E5=AE=9E=E7=8E=B0=E6=B7=BB=E5=8A=A0=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E8=BE=B9=E6=98=AF=E5=90=A6=E5=AD=98=E5=9C=A8=E7=9A=84=E5=88=A4?= =?UTF-8?q?=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- codes/rust/chapter_graph/graph_adjacency_list.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/codes/rust/chapter_graph/graph_adjacency_list.rs b/codes/rust/chapter_graph/graph_adjacency_list.rs index 26b0692bc..3c4d40a93 100644 --- a/codes/rust/chapter_graph/graph_adjacency_list.rs +++ b/codes/rust/chapter_graph/graph_adjacency_list.rs @@ -42,6 +42,13 @@ impl GraphAdjList { { panic!("value error"); } + + // 判断边是否已经存在 + if self.adj_list[&vet1].contains(&vet2) || self.adj_list[&vet2].contains(&vet1) { + println!("边 {}-{} 已经存在,无需重复添加", vet1.val, vet2.val); + return; + } + // 添加边 vet1 - vet2 self.adj_list.get_mut(&vet1).unwrap().push(vet2); self.adj_list.get_mut(&vet2).unwrap().push(vet1); @@ -54,6 +61,13 @@ impl GraphAdjList { { panic!("value error"); } + + // 判断边是否存在 + if !self.adj_list[&vet1].contains(&vet2) || !self.adj_list[&vet2].contains(&vet1) { + println!("边 {}-{} 不存在,无需删除", vet1.val, vet2.val); + return; + } + // 删除边 vet1 - vet2 self.adj_list .get_mut(&vet1)