求图的广度遍历(C/C++ 程序)

来源:百度知道 编辑:UC知道 时间:2024/05/22 20:22:44
自己写了大部分……还是无法运行
希望给我一个正确的程序 来看看……谢谢

#include<stdio.h>
#include<stdlib.h>
#define Max 10
#define FALSE 0
#define TRUE 1
#define Error printf
#define QueueSize 30

typedef struct
{
char vexs[Max];
int edges[Max][Max];
int n,e;
}MGraph;

int visited[Max];

typedef struct
{
int front;
int rear;
int count;
int data[QueueSize];
}CirQueue;

//初始化队列
void InitQueue(CirQueue *Q)
{
Q->front=Q->rear=0;
Q->count=0;
}

//队列空
int QueueEmpty(CirQueue *Q)
{
return Q->count=QueueSize;
}

//队列满
int QueueFull(CirQueue *Q)
{
return Q->count==QueueSize;
}

//进队
void EnQueue(CirQueue *Q,int x)
{
if(QueueFull(Q))
{
Error("Queue overflow");
}
else
{
Q->count++;