typedef struct {
int vexs[5];
int arcs[5][5];
int vexnum, arcnum;
} AmGraph;
void AM_DFS(AmGraph *g, int v) {
printf("%4d", g->vexs[v]);
visit[v] = 1;
for (int i = 0; i < g->vexnum; ++i) {
if (g->arcs[v][i] != 0 && visit[i] == 0) {
AM_DFS(g, i);
}
}
}
void AM_BFS(AmGraph *g) {
Queue *q = NULL;
q = initQueue(q);
enQueue(q, g->vexs[0]);
visit[0] = 1;
while (!isNULLQueue(q)) {
int dq = deQueue(q);
printf("%4d", dq);
for (int i = 0; i < g->vexnum; ++i) {
if (visit[i] == 0 && g->arcs[dq][i] == 1) {
visit[i] = 1;
enQueue(q, g->vexs[i]);
}
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35