add_edge调试通过,后续再区分是有向图还是无向图

This commit is contained in:
建峰 2025-04-25 16:56:58 +08:00
parent f63aa4db0a
commit c411ee96eb
2 changed files with 8 additions and 7 deletions

View File

@ -625,16 +625,16 @@ static bool graph_add_edge(struct _graph* self, void* from, void* to, uint32_t w
return false; return false;
} }
to_node = find_node(self, from); to_node = find_node(self, to);
if (to_node == NULL) if (to_node == NULL)
{ {
return false; return false;
} }
printf("print from and to obj start \n"); // printf("print from and to obj start \n");
self->print_obj(from_node->obj); // self->print_obj(from_node->obj);
self->print_obj(to_node->obj); // self->print_obj(to_node->obj);
printf("print from and to obj end \n"); // printf("print from and to obj end \n");
// from_node add edge // from_node add edge
struct _graph_edge* new_edge = graph_edge_new(to_node, weight); struct _graph_edge* new_edge = graph_edge_new(to_node, weight);
@ -653,6 +653,7 @@ static bool graph_add_edge(struct _graph* self, void* from, void* to, uint32_t w
} }
// if graph is undirected // if graph is undirected
// to_node add edge
struct _graph_edge* new_edge2 = graph_edge_new(from_node, weight); struct _graph_edge* new_edge2 = graph_edge_new(from_node, weight);
if (new_edge2 == NULL) if (new_edge2 == NULL)
{ {

View File

@ -93,8 +93,8 @@ void test_graph_add_edge(void)
// test add_edge // test add_edge
TEST_ASSERT_TRUE(graph->add_edge(graph, &data[0], &data[1], 55)); TEST_ASSERT_TRUE(graph->add_edge(graph, &data[0], &data[1], 55));
// TEST_ASSERT_TRUE(graph->add_edge(graph, &data[0], &data[2], 66)); TEST_ASSERT_TRUE(graph->add_edge(graph, &data[0], &data[2], 66));
// TEST_ASSERT_TRUE(graph->add_edge(graph, &data[1], &data[3], 77)); TEST_ASSERT_TRUE(graph->add_edge(graph, &data[1], &data[3], 77));
graph->print(graph); graph->print(graph);
TEST_ASSERT_FALSE(graph->add_edge(graph, &temp, &data[1], 0)); TEST_ASSERT_FALSE(graph->add_edge(graph, &temp, &data[1], 0));