第十二周——【项目2 - 操作用邻接表存储的图】

本文档提供了一段C++代码,用于实现邻接表存储的图的基本运算,包括输出顶点出度、找出出度最大顶点、计算出度为0的顶点数以及判断图中是否存在特定边。代码适用于烟大计控学院课程项目,使用code ::Block 12.11版本进行编译。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*

* Copyright (c) 2015, 烟台大学计算机与控制工程学院

* All rights reserved.

* 文件名称:main.cpp,btree.h,btree.cpp

* 作者:于奎民

* 完成日期:2015年11月5日

* 版本号:code ::Block 12.11

* 问题描述:定义图的邻接矩阵和邻接表存储结构,实现其基本运算,并完成测试。
要求:
1、假设图G采用邻接表存储,分别设计实现以下要求的算法:
  (1)输出出图G中每个顶点的出度;
  (2)求出图G中出度最大的一个顶点,输出该顶点编号;
  (3)计算图G中出度为0的顶点数;
  (4)判断图G中是否存在边<i,j> 。
  利用下图作为测试用图,输出结果。

*/

 

头文件:

#ifndef GRAPH_H_INCLUDED
#define GRAPH_H_INCLUDED

#define MAXV 100                //最大顶点个数
#define INF 32767       //INF表示∞
typedef int InfoType;

//以下定义邻接矩阵类型
typedef struct
{
    int no;                     //顶点编号
    InfoType info;              //顶点其他信息,在此存放带权图权值
} VertexType;                   //顶点类型

typedef struct                  //图的定义
{
    int edges[MAXV][MAXV];      //邻接矩阵
    int n,e;                    //顶点数,弧数
    VertexType vexs[MAXV];      //存放顶点信息
} MGraph;                       //图的邻接矩阵类型

//以下定义邻接表类型
typedef struct ANode            //弧的结点结构类型
{
    int adjvex;                 //该弧的终点位置
    struct ANode *nextarc;      //指向下一条弧的指针
    InfoType info;              //该弧的相关信息,这里用于存放权值
} ArcNode;

typedef int Vertex;

typedef struct Vnode            //邻接表头结点的类型
{
    Vertex data;             
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值