#include <stdio.h>
#include <stdlib.h>
//定义图的最多有20个顶点
#define MAX_VERTEX_NUM 20
/*******定义图的顶点**************/
struct node{
char data;
int flag;//标志位(1:访问过 0:未访问 )
struct arcNode * firstArcNode;
};
struct arcNode{
int no;
struct arcNode * nextArcNode;
};
/*******定义队列的结构体**********/
struct qNode{
struct node * Node;
struct qNode * nextQNode;
};
struct queue{
struct qNode * front;
struct qNode * rear;
};
/**********方法声明*************/
//图
void createArcNode(struct node * Node);
void rangeTraverse(struct node arrayList[],int position);
//队列
struct queue * init();
void inQueue(struct queue * Queue,struct node * Node);
struct node * outQueue(struct queue * Queue);
int isEmpty(struct queue * Queue);
/**********Main函数***********/
int main(int argc, char *argv[])
{
struct node arrayList[MAX_VERTEX_NUM];
char ch;
int flag = 1;//标志位,0表示输入结束
int position =1;
struct arcNode * testNode;//测试用弧点
printf("输入顶点信息(顶点信息用一个字符表示):\n");
printf("***输入0表示结束输入***\n");
while(1){
printf("第%d个顶点的信息为:",position);
scanf(" %c",&arrayList[position].data);//在%c之前加空格解决把回车符当做输入字符的问题
if(arrayL