全文预览

数据结构实验报告图的遍历

上传者:业精于勤 |  格式:doc  |  页数:18 |  大小:299KB

文档介绍
/标志数组Р?for(i=0;i<G->v;i++)Р flag[i]=0;Р?for(i=0;i<G->v;i++)Р if(!flag[i])Р DFS(G,i,flag);Р}Р//建立队列Рtypedef struct{Р?int *elem;Р?int front, rear;Р}*Queue;Р//队列初始化Рvoid InitQueue(Queue Q){Р?Q->elem=(int *)malloc(20*sizeof(int));Р?if(!Q->elem)Р exit(0);Р?Q->front=Q->rear=0;Р}Р//入队Рvoid Enter(Queue Q, int e){Р?if((Q->rear + 1)%20!= Q->front)Р Q->elem[Q->rear ]=e;Р?elseР printf("队列满!\n");Р?Q->rear=(Q->rear+1)%20;Р}Р//出队Рvoid Leave(Queue Q, int e){Р?if(Q->rear != Q->front)Р e=Q->elem[Q->front];Р?elseР printf("队列空!\n");Р?Q->front=(Q->front+1)%20;Р}Р//广度优先遍历Рvoid BFSTravel(Graph G){Р?Queue Q;Р?node *p;Р?int i,j=0;Р?int flag[20];//标志数组Р?Q=malloc(sizeof(20));Р?InitQueue(Q);Р?for(i=0;i<G->v;i++)Р flag[i]=0;Р?for(i=0;i<G->v;i++)Р if(flag[i]==0){Р flag[i]=1;Р printf("%2s",G->List[i].name);Р Enter(Q,i);

收藏

分享

举报
下载此文档