Name
graph_init
Synopsis
void graph_init(Graph *graph
, int (*match
)(const void *key1
, const void *key2
), void (*destroy
)(void *data
));
Return Value
None.
Description
Initializes the graph specified by
graph
. This operation must be called
for a graph before the graph can be used with any other operation.
The match
argument is a function used
by various graph operations to determine if two vertices match. It
should return 1 if key1
is equal to
key2
, and otherwise. The
destroy
argument provides a way to free
dynamically allocated data when graph_destroy
is called. For example, if the graph contains data dynamically
allocated using malloc,
destroy
should be set to
free to free the data as the graph is
destroyed. For structured data containing several dynamically
allocated members, destroy
should be
set to a user-defined function that calls
free for each dynamically allocated member as
well as for the structure itself. For a graph containing data that
should not be freed, destroy
should be
set to NULL.
Complexity
O (1)
Get Mastering Algorithms with C now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.