目录
算法描述
创建图的邻接矩阵, 并输出bfs广度优先搜索遍历结果
算法预期效果
依次输入顶点数,边数,顶点V1~Vn,边A1~An,根据输入的顶点与边的关系,输出形如右边的邻接矩阵,接着使用BFS进行广度优先遍历,输出所有结点。
效果一:输出邻接矩阵
效果二:输出BFS遍历结果
重难点
使用非递归的结构,如何有序且不重复的遍历结点;visited数组如何声明与引用
个人解法
#include <iostream>
using namespace std;
#define MVNum 100
typedef struct {
char *base;
int front, rear, size;
}Queue; //队列
typedef struct {
char vexs[MVNum];
int arcs[MVNum][MVNum];
int vexnum,arcnum;
}AMGraph; //adjacency matrix graph
void InitQueue(Queue &Q, int n) {
Q.base = new char[n];
if (!Q.base) exit(-1);
Q.front = Q.rear = 0; Q.size = n;
} //队列初始化
void inq(Queue &Q, cha