1void bfs(int graph[][MAX], int n, int start) {
2 int visited[MAX] = {0};
3 int queue[MAX], front = 0, back = 0;
4 queue[back++] = start;
5 while (front < back) {
6 int node = queue[front++];
7 if (visited[node]) continue;
8 visited[node] = 1;
9 printf("%d ", node);
10 for (int i = 0; i < n; i++)
11 if (graph[node][i] && !visited[i]) queue[back++] = i;
12 }
13}