#include<stdio.h>
#include "StdAfx.h"
#define MAX 20
#include "malloc.h"
int visited[MAX]; //访问标志数组
typedef struct
{
char vexs[MAX]; //顶点向量
int arcs[MAX][MAX]; //邻接矩阵
int vexnum,arcnum; //图的当前顶点数和边数
}Graph;
typedef struct Qnode
{
int data;
struct Qnode *next;
}Qnode,*Queueptr;
typedef struct
{
Queueptr front;
Queueptr rear;
}Linkqueue;
void InitQueue(Linkqueue &Q)
{
Q.front=Q.rear=(Queueptr)malloc(sizeof(Qnode));
if(Q.front)
Q.front->next=NULL;
}
void EnQueue(Linkqueue &Q,int e)
{
Queueptr p;
p=(Queueptr)malloc(sizeof(Qnode));
if(p)
{
p->data=e;
p->next=NULL;
Q.rear->next=p;
Q.rear=p;
}
}
int DeQueue(Linkqueue &Q)
{
int e;
Queueptr p;
if(Q.rear!=Q.front)
{
p=Q.front->next;
e=p->data;
Q.front->next&#
#include "StdAfx.h"
#define MAX 20
#include "malloc.h"
int visited[MAX]; //访问标志数组
typedef struct
{
char vexs[MAX]; //顶点向量
int arcs[MAX][MAX]; //邻接矩阵
int vexnum,arcnum; //图的当前顶点数和边数
}Graph;
typedef struct Qnode
{
int data;
struct Qnode *next;
}Qnode,*Queueptr;
typedef struct
{
Queueptr front;
Queueptr rear;
}Linkqueue;
void InitQueue(Linkqueue &Q)
{
Q.front=Q.rear=(Queueptr)malloc(sizeof(Qnode));
if(Q.front)
Q.front->next=NULL;
}
void EnQueue(Linkqueue &Q,int e)
{
Queueptr p;
p=(Queueptr)malloc(sizeof(Qnode));
if(p)
{
p->data=e;
p->next=NULL;
Q.rear->next=p;
Q.rear=p;
}
}
int DeQueue(Linkqueue &Q)
{
int e;
Queueptr p;
if(Q.rear!=Q.front)
{
p=Q.front->next;
e=p->data;
Q.front->next&#