Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Jevin Olano
- // jolano
- // CSE 101
- // November 22, 2019
- // Graph.h - header file for Graph
- #ifndef _GRAPH_H_INCLUDE_
- #define _GRAPH_H_INCLUDE_
- #define INF -1;
- #define NIL 0;
- #include "List.h"
- // Constructors & Destructors ---------------------------
- // GraphObj
- typedef struct GraphObj {
- List* adjacency;
- int* color;
- int* parent;
- int* distance;
- int order;
- int size;
- int source;
- } GraphObj;
- typedef struct GraphObj* Graph;
- // newGraph()
- // Creates and returns a new empty Graph
- Graph newGraph(int n);
- // freeGraph()
- // Frees all heap memory associated with *pG, and sets *pG to null
- void freeGraph(Graph* pG);
- // Access Functions -------------------------------------
- // getOrder()
- int getOrder(Graph G);
- // getSize()
- int getSize(Graph G);
- // getSource()
- int getSource(Graph G);
- // getParent()
- int getParent(Graph G, int u);
- // getDist()
- int getDist(Graph G, int u);
- // getPath()
- void getPath(List L, Graph G, int u);
- // Manipulation Procedures ------------------------------
- // makeNull()
- void makeNull(Graph G);
- // addEdge()
- void addEdge(Graph G, int u, int v);
- // addArc()
- void addArc(Graph G, int u, int v);
- // BFS()
- void BFS(Graph G, int s);
- // Other Operations -------------------------------------
- // printGraph()
- void printGraph(FILE* out, Graph G);
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement