[prev] 30 [next]

Validity Checking

For asserts on various kinds of objects:

int validG(Graph g) {
	return (g != NULL);   // other checks?
}
int validV(Graph g, Vertex v) {
	return (validG(g) && 0 <= v && v < g->nV);
}
int validE(Graph g, Edge e) {
	return (validV(g,e.v) && validV(g,e.w));
}

Could also be done as C pre-processor macros, e.g.

#define validG(g)  ((g) != NULL)