图(邻接矩阵存储)的广度优先遍历算法

//邻接矩阵的广度遍历算法
void BFSTraverse(MGraph G)
{
	int i, j;
	Queue Q;
	for (i = 0; i < G.numVertese; i++)
	{
		visited[i] = FALSE;
	}
	initQueue(&Q);
	for (i = 0; i < G.numVertes; i++)
	{
		if (!visited[i])
		{
			printf("%c",G.vex[i]);
			visited[i] = TRUE;
			EnQueue(&Q, i);
			while (!QueueEmpty(Q))
			{
				DeQueue(&Q, &i);
				for (j = 0; j < G.numVertexes; j++)
				{
					if (G.art[i][j] == 1 && !visited[j])
					{
						printf("%c", G.vex[j]);
						visited[i] = TRUE;
						EnQueue(&Q, j);
					}
				}
			}
		}
	}
}

    原文作者:数据结构之图
    原文地址: https://blog.csdn.net/u011643312/article/details/55054317
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞