第12周 项目4(7)-最远顶点

原创 2015年11月20日 08:49:03
int Maxdist(ALGraph *G,int v)
{
    ArcNode *p;
    int i,j,k;
    int Qu[MAXV];               //环形队列
    int visited[MAXV];              //访问标记数组
    int front=0,rear=0;             //队列的头、尾指针
    for (i=0; i<G->n; i++)          //初始化访问标志数组
        visited[i]=0;
    rear++;
    Qu[rear]=v;                 //顶点v进队
    visited[v]=1;               //标记v已访问
    while (rear!=front)
    {
        front=(front+1)%MAXV;
        k=Qu[front];                //顶点k出队
        p=G->adjlist[k].firstarc;       //找第一个邻接点
        while (p!=NULL)             //所有未访问过的相邻点进队
        {
            j=p->adjvex;            //邻接点为顶点j
            if (visited[j]==0)          //若j未访问过
            {
                visited[j]=1;
                rear=(rear+1)%MAXV;
                Qu[rear]=j; //进队
            }
            p=p->nextarc;           //找下一个邻接点
        }
    }
    return k;
}

int main()
{
    ALGraph *G;
    int A[9][9]=
    {
        {0,1,1,0,0,0,0,0,0},
        {0,0,0,1,1,0,0,0,0},
        {0,0,0,0,1,1,0,0,0},
        {0,0,0,0,0,0,1,0,0},
        {0,0,0,0,0,1,1,0,0},
        {0,0,0,0,0,0,0,1,0},
        {0,0,0,0,0,0,0,1,1},
        {0,0,0,0,0,0,0,0,1},
        {0,0,0,0,0,0,0,0,0}
    };  //请画出对应的有向图
    ArrayToList(A[0], 9, G);
    printf("离顶点0最远的顶点:%d",Maxdist(G,0));
    return 0;
}


用于测试的图结构:

运行结果:

相关文章推荐

第十二周项目四----利用遍历思想求解图问题之7最远顶点

/*烟台大学计算机与控制工程学院 时间2015年12月14日 作者:孙潇 问题描述:假设图G采用邻接表存储,分别设计实现以下要求的算法,要求用区别于示例中的图进行多次测试,通过观察输出值,掌握相...

第12周 项目4-输出顶点u到v的一条配简单路径

问题及描述; #ifndef GRAPH_H_INCLUDED #define GRAPH_H_INCLUDED #define MAXV 100 //最...

第12周 项目4-判断顶点u到v是否有简单路径

问题及描述: #ifndef GRAPH_H_INCLUDED #define GRAPH_H_INCLUDED #define MAXV 100 //最...

第12周项目4银行系统的简单框架

问题及代码:   运行结果: 知识点总结: 学习心得
  • MIKASA3
  • MIKASA3
  • 2014年11月16日 10:22
  • 723

第12周项目4 利用遍历思想求解图问题

问题及代码: 文件名称:main.cpp  graph.cpp  graph.h 作者:郑孚嘉 问题描述:假设图G采用邻接表存储,分别设计实现以下要求的算法,要求用区别于示例中的图进行多次测试,通过观...

第二学期第12周项目4--日期时间类

/* * Copyright (c) 2013, 烟台大学计算机学院 * All rights reserved. * 作 者: 沈远宏 * 完成日期:2014 年 05月13日 *...

第12周上机实践项目4——点、园的关系(1)

(1)先建立一个Point(点)类,包含数据成员x,y(坐标点); (2)以Point为基类,派生出一个Circle(圆)类,增加数据成员(半径),基类的成员表示圆心; (3)编写上述两类中的构造...

第12周-多继承、虚基类,继承和组合-项目4-点、圆的关系(2)

/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:刘畅 * 完成日...

第12周项目3 用递归方法求解(4)

问题描述:

第12周项目4-点、圆的关系(2)

 (5)在圆类上重载关系运算符(6种),使之能够按圆的面积比较两个圆的大小。自编main函数完成测试。 代码: #include #include using namespace std;...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第12周 项目4(7)-最远顶点
举报原因:
原因补充:

(最多只允许输入30个字)