80.带权的无向图

2023-10-31

 带权的无向图

 

#include<iostream>
using namespace std;
#define MAXVEX 100
#define INITMAX 65535
typedef char VerTexType;
typedef int  EdgeType;
bool visited[MAXVEX] = { false };

class MGraph
{
public:
	MGraph();
	~MGraph();
	void INITVIS();
	void Dft(int v);
	void Bft(int v);
	void Print();
private:
	VerTexType vex[MAXVEX];
	EdgeType Edge[MAXVEX][MAXVEX];
	int vexnum, edgenum;
};

MGraph::MGraph()
{
	int  j, k, w;
	int f;
	VerTexType c;
	cout << "请输入顶点数和边数" << endl;
	cin >> vexnum >> edgenum;
	for (int i = 0; i < vexnum; i++) {
		cout << "请输入第"<<i+1<<"个顶点信息" << endl;
		cin >> c;
		vex[i] = c;
		
	}
	for (int i = 0; i < MAXVEX; i++) {
		for (int j = 0; j < MAXVEX; j++) {
			if (i == j) {
				Edge[i][j] = 0;
			}
			else {
			Edge[i][j] = INITMAX;
			}
		}
		visited[i] = false;
	}
	for (int i = 0; i < edgenum; i++) {
		cout << "请输入边的下标i,j和权w" << endl;
		cin >> f >> j >> w;
		Edge[f][j] = w;
		Edge[j][f] = Edge[f][j];
	}
	
}

MGraph::~MGraph()
{

}

void MGraph::INITVIS()
{
	for (int i = 0; i < MAXVEX; i++) {
		visited[i] = false;
	}
}

void MGraph::Dft(int v)
{
	cout << vex[v] << " ";
	visited[v] = true;
	for (int i = 0; i < vexnum; i++) {
		if (Edge[v][i] != INITMAX && visited[i] != true) {
			Dft(i);
		}
	}
}

void MGraph::Bft(int v)
{
	int w;
	int Q[MAXVEX];
	int front=-1,rear = -1;
	cout << vex[v] << " ";
	visited[v] = true;
	Q[++rear] = v;
	while (rear!=front)
	{
		w = Q[++front];
		for (int j = 0; j < vexnum; j++) {
			if (Edge[w][j] != INITMAX && visited[j] != true) {
				cout << vex[j] << " ";
				visited[j] = true;
				Q[++rear] = j;
			}
		}
	}
}

void MGraph::Print()
{	
	cout << "\t";
	for (int i = 0; i < vexnum; i++) {
		cout << vex[i] << "\t";
	}
	cout << endl;
	for (int i = 0; i < vexnum; i++)
	{	
		cout << vex[i] << "\t";
		for (int k = 0; k < vexnum; k++) {
			cout << Edge[i][k] << "\t";
		}
		cout << endl;
	}
}

	
int main() {
	MGraph G;
	G.Print();
	G.Dft(0);
	G.INITVIS();
	cout << endl;
	G.Bft(0);
}

 

 


备考期末 学数字逻辑+离散

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

80.带权的无向图 的相关文章

  • 我的线程图像生成应用程序如何将其数据传输到 GUI?

    Mandelbrot 生成器的缓慢多精度实现 线程化 使用 POSIX 线程 Gtk 图形用户界面 我有点失落了 这是我第一次尝试编写线程程序 我实际上并没有尝试转换它的单线程版本 只是尝试实现基本框架 到目前为止它是如何工作的简要描述 M
  • 使用具有现有访问令牌的 Google API .NET 客户端

    用例如下 移动应用程序正在通过 Google 对用户进行身份验证 并且在某些时候 我们需要将用户的视频发布到他的 YouTube 帐户 出于实际原因 实际发布应该由后端完成 已经存储在那里的大文件 由于用户已经通过应用程序的身份验证 因此应
  • 如何创建可以像 UserControl 一样编辑的 TabPage 子类?

    我想创建一个包含一些控件的 TabPage 子类 并且我想通过设计器来控制这些控件的布局和属性 但是 如果我在设计器中打开子类 我将无法像在 UserControl 上那样定位它们 我不想创建一个带有 UserControl 实例的 Tab
  • 从 MVC 迁移到 ASP.NET Core 3.1 中的端点路由时,具有角色的 AuthorizeAttribute 不起作用

    我正在尝试将我的项目从 UseMVC asp net core 2 2 兼容样式 升级到 UseEndpoint Routing 并且我的所有请求都被重定向到我的验证失败页面 它与声明有关 如果我删除 Authorize Roles Adm
  • 如何使用recv()检测客户端是否仍然连接(并且没有挂起)?

    我写了一个多客户端服务器程序C on SuSE Linux 企业服务器 12 3 x86 64 我为每个客户端使用一个线程来接收数据 我的问题是 我使用一个终端来运行服务器 并使用其他几个终端来运行服务器telnet到我的服务器 作为客户端
  • POCO HTTPSClientSession 发送请求时遇到问题 - 证书验证失败

    我正在尝试使用 POCO 库编写一个向服务器发出 HTTPS 请求的程序 出于测试目的 我正在连接到具有自签名证书的服务器 并且我希望允许客户端进行连接 为了允许这种情况发生 我尝试安装InvalidCertificateHandler这是
  • 从多个类访问串行端口

    我正在尝试使用串行端口在 arduino 和 C 程序之间进行通信 我对 C 编程有点陌生 该程序有多种用户控制形式 每一个都需要访问串口来发送数据 我需要做的就是从每个类的主窗体中写入串行端口 我了解如何设置和写入串行端口 这是我的 Fo
  • 访问者和模板化虚拟方法

    在一个典型的实现中Visitor模式 该类必须考虑基类的所有变体 后代 在许多情况下 访问者中的相同方法内容应用于不同的方法 在这种情况下 模板化的虚拟方法是理想的选择 但目前这是不允许的 那么 模板化方法可以用来解析父类的虚方法吗 鉴于
  • ASP MVC:服务应该返回 IQueryable 的吗?

    你怎么认为 你的 DAO 应该返回一个 IQueryable 以便在你的控制器中使用它吗 不 您的控制器根本不应该处理任何复杂的逻辑 保持苗条身材 模型 而不是 DAO 应该将控制器返回给视图所需的所有内容 我认为在控制器类中看到查询 甚至
  • 当前的 c++ 工作草案与当前标准有何不同

    通过搜索该标准的 PDF 版本 我最终找到了这个链接C 标准措辞草案 http www open std org jtc1 sc22 wg21 docs papers 2012 n3376 pdf从 2011 年开始 我意识到我可以购买最终
  • 如何识别 WPF 文本框中的 ValidationError 工具提示位置

    我添加了一个箭头来指示工具提示中的文本框 当文本框远离屏幕边缘时 这非常有效 但是当它靠近屏幕边缘时 工具提示位置发生变化 箭头显示在左侧 Here is the Image Correct as expected since TextBo
  • 在 2D 中将一个点旋转另一个点

    我想知道当一个点相对于另一个点旋转一定角度时如何计算出新的坐标 我有一个块箭头 想要将其相对于箭头底部中间的点旋转角度 theta 这是允许我在两个屏幕控件之间绘制多边形所必需的 我无法使用和旋转图像 从我到目前为止所考虑的情况来看 使问题
  • 无法将类型“System.IO.Stream”隐式转换为“Java.IO.InputStream”

    我提到了一些类似的问题 但没有一个涉及IO 当我使用时 我在java中使用了相同的代码Eclipse 那次就成功了 但现在我尝试在中使用这段代码Mono for Android C 它不起作用 我正在尝试运行此代码来创建一个InputStr
  • 如何在c#中的内部类中访问外部类的变量[重复]

    这个问题在这里已经有答案了 我有两个类 我需要声明两个类共有的变量 如果是嵌套类 我需要访问内部类中的外部类变量 请给我一个更好的方法来在 C 中做到这一点 示例代码 Class A int a Class B Need to access
  • 如何挤出平面 2D 网格并赋予其深度

    我有一组共面 连接的三角形 即二维网格 现在我需要将其在 z 轴上挤出几个单位 网格由一组顶点定义 渲染器通过与三角形数组匹配来理解这些顶点 网格示例 顶点 0 0 0 10 0 0 10 10 0 0 10 0 所以这里我们有一个二维正方
  • 尚未处理时调用 Form 的 Invoke 时出现 ObjectDisposeException

    我们得到一个ObjectDisposedException从一个电话到Invoke在尚未处理的表格上 这是一些演示该问题的示例代码 public partial class Form2 Form void Form2 Load object
  • 有没有一种简单的方法可以让 Visual Studio 2015 使用特定的 ToolsVersion?

    使用特定版本构建项目或解决方案时msbuild我可以使用以下命令选择早期的 net 工具链 toolsversion or tv switch C Program Files x86 MSBuild 14 0 bin msbuild tv
  • 在类的所有方法之前运行一个方法

    在 C 3 或 4 中可以做到这一点吗 也许有一些反思 class Magic RunBeforeAll public void BaseMethod runs BaseMethod before being executed public
  • 结构体指针的动态数组

    我必须使用以下代码块来完成学校作业 严格不进行任何修改 typedef struct char firstName char lastName int id float mark pStudentRecord pStudentRecord
  • 用于 C# XNA 的 Javascript(或类似)游戏脚本

    最近我准备用 XNA C 开发另一个游戏 上次我在 XNA C 中开发游戏时 遇到了必须向游戏中添加地图和可自定义数据的问题 每次我想添加新内容或更改游戏角色的某些值或其他内容时 我都必须重建整个游戏或其他内容 这可能需要相当长的时间 有没

随机推荐

  • todo:在此放置对话框控件_WinCC报警控件、在线趋势/表格控件数据查询

    1 报警控件数据查询 在WinCC报警记录组态时 我们可以给报警消息定义不同的类别 类型 用户文本块等 有了以上的组态 我们就可以自定义过滤条件 在报警控件中查询或显示分类的报警信息 1 1 报警控件手动查询 在组态报警控件时 可直接设置报
  • 将10进制小数转换为IEEE754浮点数格式

    将十进制数 20 625 转换为IEEE754单精度浮点数格式 步骤 20 625 10100 101 1 0100101 2 4 移码 4 127 131 1000 0011 符号 0 尾数 01001010000000000000000
  • python下快速使用echart

    所需文件如图 echarts min js 可以在echarts官网 下载 中找到 app py from flask import Flask render template app Flask name app route def ec
  • GD32+EEPROM(IO)

    一 测试环境 1 芯片 GD32F10x 2 EEPROM BL24CM1A 3 SCL引脚 推完输出 硬件没上拉 4 SDA引脚 浮空输入 硬件没上拉 二 功能 1 使用IO模拟的方式 实现读写EEPROM 三 问题描述 1 很久没有调试
  • 零基础自学Python数据分析之安装、使用等

    这两年Python之火 不再赘述 当然 一些教培机构的吹捧赞美之词可能略高了 实在不敢苟同 但 本人前面也写过Python的功能之强大 用法之多之广以及抑制不住的赞美之情溢于言辞之间 前两天听到一个调侃 说有一个哥们以前是做数据分析的 每天
  • idea右键建包无package(无class等之类的同样适用)

    Intelidea创建好项目之后 右键新建Java class的时候发现没有改选项 只有以下几个选项 把src目录设为源码目录 首先打开Project Structure 如果有test测试文件夹就选中然后点Test按钮 最后点击OK完成
  • Taro和uniapp的区别?

    最近这段时间 因为工作需要 学习认识了taro 因为以前也用过uniapp 因此也对这两款跨端开发框架做了一些对比 总结如下 1 体积不同 Taro使用esbuild打包 虽然打包速度提升 但是打包后体积还是大 uniapp使用vite打包
  • MongoDB(Roboit3T)中导出集合数据

    C MongoDB bin mongoexport d MES LOCAL c Employee o C Employee json 这里导出的是MES LOCAL数据库下的 Employee文档 一 先从数据库中导出文档 平板中的数据 导
  • awk与shell之间的变量传递方法

    http renyongjie668 blog 163 com blog static 16005312011829102025222 在linux下awk是个好东东 处理一些文本文件会非常方便 而在Linux下嘛 经常会和shell打交道
  • GB2312编码规则与代码实现

    GB2312编码范围 A1A1 FEFE 其中汉字编码范围 B0A1 F7FE 汉字编码 第一字节0xB0 0xF7 对应区号 16 87 第二个字节0xA1 0xFE 对应位号 01 94 GB2312编码是第一个汉字编码国家标准 是由中
  • BaseAdapter几个重载方法介绍isEnabled,getViewTypeCount ,getItemViewType

    http blog csdn net nullreference article details 7912588 public boolean isEnabled int position 如果列表的一项item是separator 充当分
  • Redisson Map踩坑姿势

    使用Java的Redisson客户端时 踩了一些坑 分享再次 供大家参考 因此引发的一次故障及排查过程参见 记一次线上 内存泄露 故障 RMapCache的坑 RMapCache的坑要从Redisson中Map结构的元素淘汰机制说起 详见
  • (python)牛客网(华为机试一)——入门

    本博客为博主解题的部分记录 由于均为自己写的 所以答案并非最优解 有很多地方可以优化 其他题解合集 python 牛客网 华为机试二 简单 python 牛客网 华为机试三 中等 python 牛客网 华为机试四 较难 题目 HJ17 取近
  • c++模板与泛型编程

    函数模板 template
  • git clone弹出登录验证框 登录无效 -Windows环境

    git篇 git clone弹出登录验证框 登录无效 Windows环境 在这里插入图片描述 使用git clone下载代码的时候 弹出github登录界面 确认账户密码正确的情况下 依旧重复弹出 原因是Github 禁用了TLS v1 0
  • 他98年的,我玩不过他...

    现在的小年轻真的卷得过分了 前段时间我们公司来了个98年的 工作没两年 跳槽到我们公司起薪18K 都快接近我了 后来才知道人家是个卷王 从早干到晚就差搬张床到工位睡觉了 最近和他聊了一次天 原来这位小老弟家里条件不太好 一大家子指望他一个人
  • LeetCode 之 剑指 Offer 24. 反转链表(Java)

    文章目录 LeetCode 之 剑指 Offer 24 反转链表 Java 一 题目 二 解题思路 三 代码 LeetCode 之 剑指 Offer 24 反转链表 Java 一 题目 剑指 Offer 24 反转链表 定义一个函数 输入一
  • 大数据处理框架MapReduce

    大数据处理框架MapReduce是一种用于处理大规模数据集的编程模型和计算框架 它能够将大规模数据集分解为多个小的数据块 并在分布式计算环境中进行并行处理 MapReduce采用了一种简单而有效的数据处理模式 由两个主要的阶段组成 Map阶
  • Sublime Text 3 装了Anaconda 写Python代码出现框框的解决办法

    Sublime Text 3代码提示插件Anaconda下载 http damnwidget github io anaconda carousel features 安装后写代码出现白框 光标移到白框行 下方状态栏里可以看到错误信息 可见
  • 80.带权的无向图

    带权的无向图 include