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.