#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
#define MaxVertexNum 30
bool visited[MaxVertexNum];
typedef char VertexType;
//边表 结点
typedef struct ArcNode
{
int adjvex; //临接点对应下标
struct ArcNode *next;
} ArcNode;
//顶点表结点
typedef struct VNode
{
VertexType data;//顶点数据
ArcNode *first;//边表头指针
} VNode,AdjList[MaxVertexNum];
//邻接表
typedef struct Graph
{
AdjList adjList;
int verNum,arcNum;
} GraphAdjList;
typedef struct Queue{
int data[MaxVertexNum];//存放图的标号
int front;
int rear;
}Queue;
bool InitQueue(Queue *q){
q->front=0;
q->rear=0;
return true;
}
bool IsEmpty(Queue *q){
if(q->front==q->rear)return true;
return false;
}
bool EnQueue(Queue *q, int e){
if((q->rear+1)%MaxVertexNum==q->front)return false;
q->data[q->rear]=e;
q->rear=(q->rear+1)%MaxVertexNum;
06-06