数据结构与算法编程题50

假设不带权有向图采用邻接矩阵G存储,设计实现以下功能的算法。
(1)求出图中每个顶点的出度。
(2)求出图中出度为0的顶点数。
(3)求出图中每个顶点的入度。

//参考博客:https://blog.csdn.net/qq_54162207/article/details/117414707#include <iostream>
using namespace std;#define Maxsize 100
#define VertexmMaxNum 20
#define ERROR  0
#define OK     1
typedef string VertexType;
typedef int  EdgeType;typedef struct Graph   //无向图
{VertexType vex[VertexmMaxNum];EdgeType edge[VertexmMaxNum][VertexmMaxNum];int vexnum;     //顶点数int edgenum;  //边数
}Graph;//确定某顶点在G中的位置下标
int locateVex(Graph& G, VertexType v)
{for (int i = 0; i < G.vexnum; i++){if (v == G.vex[i]) return i;}return -1;
}void CreateDG(Graph& G)
{int i = 0, j = 0;cout << "请输入有向图的顶点数和边数:";cin >> G.vexnum >> G.edgenum;cout << "请输入顶点:";for (i = 0; i < G.vexnum; i++){cin >> G.vex[i];}for (i = 0; i < G.vexnum; i++){for (j = 0; j < G.vexnum; j++)G.edge[i][j] = 0;}for (int k = 0; k < G.edgenum; k++){cout << "请输入第" << k + 1 << "条边:";VertexType v1, v2;cin >> v1 >> v2;int i = locateVex(G, v1);int j = locateVex(G, v2);G.edge[i][j] = 1;}
}/*--------打印图的邻接矩阵-----------*/
void PrintfUGraph(Graph G) {//将图的邻接矩阵输出在控制台上for (int i = 0; i < G.vexnum; i++) {cout << "v" << i + 1 << ":";for (int j = 0; j < G.vexnum; j++)cout << G.edge[i][j] << " ";cout << endl;}
}
//2.假设不带权有向图采用邻接矩阵G存储,设计实现以下功能的算法。
//(1)求出图中每个顶点的出度。
//(2)求出图中出度为0的顶点数。
//(3)求出图中每个顶点的入度。
//-------------------------核心代码-------------------------//
void count_chudu(Graph G)
{int count = 0;for (int i = 0; i < G.vexnum; i++){count = 0;for (int j = 0; j < G.vexnum; j++){if (G.edge[i][j] == 1)count++;}cout << G.vex[i] << "的出度的数量为:" << count << endl;}
}void count_chudu_zero(Graph G)
{int zero_count = 0;int count = 0;for (int i = 0; i < G.vexnum; i++){zero_count = 0;for (int j = 0; j < G.vexnum; j++){if (G.edge[i][j] == 0)zero_count++;}if (zero_count == G.vexnum)count++;}cout <<"出度为0的顶点数:" << count << endl;
}void count_rudu(Graph G)
{int count = 0;for (int i = 0; i < G.vexnum; i++){count = 0;for (int j = 0; j < G.vexnum; j++){if (G.edge[j][i] == 1)count++;}cout << G.vex[i] << "的入度的数量为:" << count << endl;}
}
//-------------------------核心代码-------------------------//
//顶点信息
//v1 v2 v3
//边信息
/*
v1 v2
v1 v3
v2 v3
*/
int main(void)
{Graph G;CreateDG(G);  //不带权有向图PrintfUGraph(G);cout << "--------------------求出图中每个顶点的出度--------------------" << endl;count_chudu(G);cout << "--------------------求出图中出度为0的顶点数--------------------" << endl;count_chudu_zero(G);cout << "--------------------求出图中每个顶点的入度--------------------" << endl;count_rudu(G);return 0;
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/204808.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

想要精通GO语言?这些网站是你的最佳选择!

介绍&#xff1a;Go&#xff08;又称 Golang&#xff09;是由 Google 的 Robert Griesemer&#xff0c;Rob PGo&#xff08;又称 Golang&#xff09;是由 Google 的 Robert Griesemer&#xff0c;Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。它在2009年11月10…

matplotlib与opencv图像读取与显示的问题

个人博客:Sekyoro的博客小屋 个人网站:Proanimer的个人网站 最近在用opencv和matplotlib展示图片,但是遇到了一些问题,这里展开说说 首先需要明确的是,opencv和matplotlib读取图片都是通道在最后,而前者默认可见光图像是BGR,后者是RGB.此外还有PIL以及imageio等读取图像的工具…

如何使用cpolar+Plex在Windows系统上搭建私人媒体影音站点公网可访问

文章目录 1.前言2. Plex网站搭建2.1 Plex下载和安装2.2 Plex网页测试2.3 cpolar的安装和注册 3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1.前言 用手机或者平板电脑看视频&#xff0c;已经算是生活中稀松平常的场景了&#xff0c;特别是各…

ERP软件定制开发对企业的优势|app小程序搭建

ERP软件定制开发对企业的优势|app小程序搭建 随着科技的不断发展&#xff0c;企业管理也面临了更多的挑战。为了更好地适应市场需求和提高运营效率&#xff0c;越来越多的企业开始选择使用ERP软件进行管理。然而&#xff0c;市场上现成的ERP软件并不能完全满足企业的需求&#…

兰州电力博物馆 | OLED透明展示台:创新展示,增强互动体验

产品&#xff1a;8片55寸OLED透明屏 应用场景&#xff1a;OLED透明屏利用其高透明度的特点&#xff0c;可以叠加在文物展示台上面&#xff0c;这种展示方式既让观众看到了文物原貌&#xff0c;又能了解其内部结构和细节特点&#xff0c;打破空间的束缚。 项目时间&#xff1a…

opencv知识库:cv2.add()函数和“+”号运算符

需求场景 现有一灰度图像&#xff0c;需求是为该图像增加亮度。 原始灰度图像 预期目标图像 解决方案 不建议的方案——“”运算符 假设我们需要为原始灰度图像的亮度整体提升88&#xff0c;那么利用“”运算符的源码如下&#xff1a; import cv2img_path r"D:\pych…

SCADA软件工具有多少免费的?

随着工业自动化的飞速发展&#xff0c;SCADA系统已经成为工业领域智能化转型绕不开的重要工具&#xff0c;不少个人和公司也都加入到了学习研究SCADA系统的队伍中。数维图小编耗费大量时间整理了国内外免费&#xff08;非完全免费&#xff09;的SCADA软件工具&#xff0c;有部分…

电源模块测试系统测试稳压电源 提升电源稳定性和可靠性

稳压电源是用来将不稳定的电压转换为稳定的输出电压的电子装置&#xff0c;其性能、稳定性和可靠性直接影响着工作状态。稳压电源测试是保证电子设备稳定工作的重要环节&#xff0c;那么如何测试稳压电源呢? 一、静态测试 静态测试是通过万用表或数字电压表测量稳压电源的输出…

ComplexHeatmap热图专栏 | 6. 3D热图绘制教程

本期教程 原文链接https://mp.weixin.qq.com/s/EyBs6jn78zOomcTv1aP52g 6 3D热图的绘制教程 基于《热图绘制教程》专栏&#xff0c;本教程已更新了5个章节&#xff0c;不知道大家是否有所收获。对于小杜个人来说&#xff0c;真的需要不断的复习和练习才可以记住&#xff0c;但…

RedHat9中安装Mysql8.0+出现“错误:GPG 检查失败“的处理

近期通过VM安装了RedHat9&#xff0c;之后在RedHat9中安装Mysql8.0的时候出现了个问题&#xff1a;“错误&#xff1a;GPG 检查失败”&#xff0c;如图所示&#xff1a; 解决方案&#xff1a;重新导入新的秘钥即可&#xff0c;如下所示&#xff1a; rpm --import https://rep…

vr建筑虚拟实景展厅漫游体验更直观全面

随着科技的不断进步&#xff0c;纯三维、可交互、轻量化的三维线上展览云平台&#xff0c;打破时间界限&#xff0c;以其独特的魅力&#xff0c;给予客户更多的自主性、趣味性和真实性&#xff0c;客户哪怕在天南地北&#xff0c;通过网络、手机即可随时随地参观企业线上立体化…

泳道图绘制全攻略,一图胜千言,快速上手

泳道图是一种流程图的形式&#xff0c;通过在不同的泳道中展示不同的参与者&#xff0c;帮助我们更好地理解和分析流程。它是一种非常有用的工具&#xff0c;可以帮助我们在团队协作、流程管理和问题解决等方面取得更好的效果。 1. 泳道图的定义 泳道图是一种以泳道为基础的流程…

浅析pyqt事件机制

pyqt事件机制 一、什么是pyqt事件机制&#xff1f; ​ 事件是指用户操作或系统发生的各种动作&#xff0c;比如鼠标点击、键盘输入、窗口大小变化等。事件可以由用户或操作系统触发&#xff0c;然后被传递给应用程序进行处理。PyQt的事件机制通过事件循环&#xff08;Event L…

如何通过内网穿透实现无公网IP也能远程访问内网的宝塔面板

文章目录 一、使用官网一键安装命令安装宝塔二、简单配置宝塔&#xff0c;内网穿透三、使用固定公网地址访问宝塔 宝塔面板作为建站运维工具&#xff0c;适合新手&#xff0c;简单好用。当我们在家里/公司搭建了宝塔&#xff0c;没有公网IP&#xff0c;但是想要在外也可以访问内…

SVN修改已提交版本的日志方法

1.在工做中一直是使用svn进行項目的版本控制的&#xff0c;有时候因为提交匆忙&#xff0c;或是忘了添加Log&#xff0c;或是Log内容有错误。遇到此类状况&#xff0c;想要在查看项目的日志时添加log或是修改log内容&#xff0c;遇到以下错误&#xff1a; Repository has not b…

链表的应用

链表优点&#xff1a;链表各个节点个数可以灵活变动&#xff0c;学生多时可以增加节点&#xff0c;少时可以减少节点&#xff0c;链表不要求存储空间连续&#xff0c;空间利用率高 链表&#xff1a;链表中每个节点在内存中位置不一定连续&#xff0c;所以每一节点中一定有个字…

【EI会议征稿】第十届机电一体化与工业信息学国际学术研讨会(ISMII 2024)

第十届机电一体化与工业信息学国际学术研讨会&#xff08;ISMII 2024&#xff09; 2024 10th International Symposium on Mechatronics and Industrial Informatics 随着往年九届的成功举办&#xff0c;2024年第十届机电一体化与工业信息学国际学术研讨会&#xff08;ISMII…

深入理解Flexbox:构建灵活的布局系统

由于篇幅限制&#xff0c;我将提供一个详细的文章大纲和部分内容。您可以根据这个大纲扩展文章内容&#xff0c;以满足3000字的要求。 深入理解Flexbox&#xff1a;构建灵活的布局系统 引言 在现代web设计中&#xff0c;创建灵活且响应式的布局是非常重要的。Flexbox&#xf…

Google DeepMind推出大模型 Gemini (vs GPT4):规模最大、能力最强的人工智能模型

系列文章目录 文章目录 系列文章目录前言谷歌和 Alphabet 首席执行官桑达尔-皮查伊&#xff08;Sundar Pichai&#xff09;的说明一、Gemini 介绍二 、最先进的性能三、新一代功能四、复杂的推理能力五、理解文本、图像、音频及其他内容六、先进的编码技术七、更可靠、可扩展、…

推荐一个可以记录历史进价的进销存软件?

“我是卖数码产品的&#xff0c;数码产品价格变动是比较大的&#xff0c;每次采购时候我都会多家对比价格&#xff0c;再决定在哪个厂家进货。所以基本上我每次进价价格都不一样&#xff0c;但是之前的询价情况又很难一一单独记录&#xff0c;让我采购的时候很被动。” “准备…