第十二周 - 项目3 - 图遍历算法实现

来源:互联网 发布:阿里云备案订单二维码 编辑:程序博客网 时间:2024/05/22 17:21

main.cpp

/*Copyright (c) 2015,烟台大学计算机学院*All right reserved*文件名称:graph.cpp*作者:贾召飞*完成日期:2015.10.23*版本号:v1.0**问题描述: 图的遍历*/#include <stdio.h>#include <malloc.h>#include "graph.h"int visited[MAXV];void DFS(ALGraph *G, int v){    ArcNode *p;    int w;    visited[v]=1;    printf("%d ", v);    p=G->adjlist[v].firstarc;    while (p!=NULL)    {        w=p->adjvex;        if (visited[w]==0)            DFS(G,w);        p=p->nextarc;    }}int main(){    int i;    ALGraph *G;    int A[5][5]=    {        {0,1,0,1,0},        {1,0,1,0,0},        {0,1,0,1,1},        {1,0,1,0,1},        {0,0,1,1,0}    };    ArrayToList(A[0], 5, G);    for(i=0; i<MAXV; i++) visited[i]=0;    printf(" 由2开始深度遍历:");    DFS(G, 2);    printf("\n");    for(i=0; i<MAXV; i++) visited[i]=0;    printf(" 由0开始深度遍历:");    DFS(G, 0);    printf("\n");    return 0;}

运行结果如下图所示


0 0
原创粉丝点击