#include
#include
#define Max 20 typedef struct Node { int num; struct Node *next; }Node; Node G[Max]; int visited[Max]; int Q[Max]; int front=0,rear=0; bool emptyQueue(int Q[]) { if(rear ==front ) return true; else return false; } void EnQueue(int Q[], int e) { Q[rear] = e; rear = rear + 1; } void DeQueue(int Q[], int *e) { *e = Q[front]; front = front + 1; } void Creategraph(int n,Node G[]) { int i,e,j; Node *p,*q; for(i=0;i
>e; e=e-1; j=0; while(e!=-1&&j
next=NULL; p->num=e; j++; if(G[i].next==NULL) G[i].next=p; else q->next=p; q=p; cout<<"请输入第"<
>e; e=e-1; } } } int First(Node G[],int v) { if(G[v].next!=NULL) return G[v].next->num; return -1; } int Next(Node G[],int v) { Node *p; p=G[v].next; while(p!=NULL) { if(visited[p->num]) p=p->next; else return p->num; } return -1; } void BFS(Node G[],int v) { int w,u; cout<
>n; Creategraph(n,G); for(i=0;i