Social Network 1.0.0
The second major course output (MCO2) for CCDSALG.
Loading...
Searching...
No Matches
io.h File Reference

The helper functions that are used to parse graphs from input files and to create output files. More...

#include <stdbool.h>
#include "graph.h"

Go to the source code of this file.

Macros

#define BUFFER_SIZE   32
 The size of buffers used in IO operations.
#define WHITESPACE_DELIMITER   " \f\n\r\t\v"
 The delimiter to use when tokenizing strings to exclude whitespace characters.
#define NULL_VERTEX_LABEL   "-1"
 The vertex label used to represent NULL, or the end of the list.

Typedefs

typedef char StringBuffer[BUFFER_SIZE+1]
 A string used to store text read from an input stream.

Functions

bool parse_graph_from_file (const StringBuffer input_file_name, Graph *const graph)
 Parses a graph represented with an adjacency list from an input file.
void create_output_file_1 (const Graph *const graph, const char graph_name)
 Creates the first output file, containing a graph’s vertex labels and edges.
void create_output_file_2 (const Graph *const graph, const char graph_name)
 Creates the second output file, containing the degrees of a graph’s vertices.
void create_output_file_3 (const Graph *const graph, const char graph_name)
 Creates the third output file, containing the adjacency list representation of a graph.
void create_output_file_4 (const Graph *const graph, const char graph_name)
 Creates the fourth output file, containing the adjacency matrix representation of a graph.
void create_output_file_5 (const Graph *const graph, const char graph_name, const Vertex starting_vertex)
 Creates the fifth output file, containing the non-repeating traversal sequence of a graph using breadth-first search.
void create_output_file_6 (const Graph *const graph, const char graph_name, const Vertex starting_vertex)
 Creates the sixth output file, containing the non-repeating traversal sequence of a graph using depth-first search.
void create_output_file_7 (const Graph *const graph, const char graph_name, const Graph *const subgraph, const char subgraph_name)
 Creates the seventh output file, containing the step-by-step check of whether a graph is a subgraph of another.

Detailed Description

The helper functions that are used to parse graphs from input files and to create output files.

Author
Raphael Panaligan
Jek Degullado

Function Documentation

◆ create_output_file_1()

void create_output_file_1 ( const Graph *const graph,
const char graph_name )

Creates the first output file, containing a graph’s vertex labels and edges.

Parameters
[in]graphThe graph to use.
[in]graph_nameThe name of the graph to use.

◆ create_output_file_2()

void create_output_file_2 ( const Graph *const graph,
const char graph_name )

Creates the second output file, containing the degrees of a graph’s vertices.

Parameters
[in]graphThe graph to use.
[in]graph_nameThe name of the graph to use.

◆ create_output_file_3()

void create_output_file_3 ( const Graph *const graph,
const char graph_name )

Creates the third output file, containing the adjacency list representation of a graph.

Parameters
[in]graphThe graph to use.
[in]graph_nameThe name of the graph to use.

◆ create_output_file_4()

void create_output_file_4 ( const Graph *const graph,
const char graph_name )

Creates the fourth output file, containing the adjacency matrix representation of a graph.

Parameters
[in]graphThe graph to use.
[in]graph_nameThe name of the graph to use.

◆ create_output_file_5()

void create_output_file_5 ( const Graph *const graph,
const char graph_name,
const Vertex starting_vertex )

Creates the fifth output file, containing the non-repeating traversal sequence of a graph using breadth-first search.

Parameters
[in]graphThe graph to use.
[in]graph_nameThe name of the graph to use.
[in]starting_vertexThe vertex to start the traversal from.

◆ create_output_file_6()

void create_output_file_6 ( const Graph *const graph,
const char graph_name,
const Vertex starting_vertex )

Creates the sixth output file, containing the non-repeating traversal sequence of a graph using depth-first search.

Parameters
[in]graphThe graph to use.
[in]graph_nameThe name of the graph to use.
[in]starting_vertexThe vertex to start the traversal from.

◆ create_output_file_7()

void create_output_file_7 ( const Graph *const graph,
const char graph_name,
const Graph *const subgraph,
const char subgraph_name )

Creates the seventh output file, containing the step-by-step check of whether a graph is a subgraph of another.

Parameters
[in]graphThe graph to use.
[in]graph_nameThe name of the graph to use.
[in]subgraphThe subgraph to use.
[in]subgraph_nameThe name of the subgraph to use.

◆ parse_graph_from_file()

bool parse_graph_from_file ( const StringBuffer input_file_name,
Graph *const graph )

Parses a graph represented with an adjacency list from an input file.

Parameters
[in]input_file_nameThe name of the input file, or the path to it.
[out]graphThe graph parsed from the input file.
Returns
Whether the input file was opened and read by the program.