首页 > 其他分享 >存图之边集数组

存图之边集数组

时间:2023-08-16 11:01:15浏览次数:34  
标签:int dfs 边集 vis 存图 数组

边集数组核心思想使用结构体存储图的起来点终点以及边权,同时也是用了深度搜索。

点击查看代码
#include<bits/stdc++.h>
using namespace std;
const int N=100;

int m,n,a,b,c;
int vis[N];
struct en{
	int u,v,w;
}e[N];//边集
void dfs(int u){
	vis[u]=true;
	for(int i=1;i<=n;i++){
		if(e[i].u==u){
			int v=e[i].v,w=e[i].w;
			cout<<u<<v<<w;
			if(vis[v])continue;
			dfs(e[i].v);
		}
	}
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>a>>b>>c;
		e[i]={a,b,c};//将数据存入结构体。
	}
	dfs(1);
	return 0;
} 

标签:int,dfs,边集,vis,存图,数组
From: https://www.cnblogs.com/ttyy0915/p/17633434.html

相关文章

  • 图论之存图-----邻接矩阵
    跟着思路敲了一遍,感觉清晰多了,但是还得多复习。就是利用了深度搜索,很奇妙。点击查看代码#include<bits/stdc++.h>usingnamespacestd;constintN=2e5+10;intw[N][N];intvis[N];intn,m;inta,b,c;voiddfs(intu){ vis[u]=true; if(vis[u]){ for(inti=1;i<=......
  • 2.1 C++ STL 数组向量容器
    Vector容器是C++STL中的一个动态数组容器,可以在运行时动态地增加或减少其大小,存储相同数据类型的元素,提供了快速的随机访问和在末尾插入或删除元素的功能。该容器可以方便、灵活地代替数组,容器可以实现动态对数组扩容删除等各种复杂操作,其时间复杂度O(l)常数阶,其他元素的插入和删......
  • 2.1 C++ STL 数组向量容器
    Vector容器是C++STL中的一个动态数组容器,可以在运行时动态地增加或减少其大小,存储相同数据类型的元素,提供了快速的随机访问和在末尾插入或删除元素的功能。该容器可以方便、灵活地代替数组,容器可以实现动态对数组扩容删除等各种复杂操作,其时间复杂度O(l)常数阶,其他元素的插入和......
  • (三种方法)数组中出现次数超过一半的数字
    数组中出现次数超过一半的数字方法1HashMap思想:利用HashMap计算每一次数组元素出现的次数,然后在判断这个数是不是众数(看有没有超过数组元素的一半)代码实现:importjava.util.*;publicclassSolution{publicintMoreThanHalfNum_Solution(int[]numbers){......
  • 2个数组删除
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>在一个数组中删除另一个数组存在的值</title><styletype="text/css">html,body{width:100%;height:100%......
  • C语言中数组的基础知识
    数组是一种集合数据类型,它由多个元素组成,每个元素都有相同的数据类型,占有相同大小的存储单元,且在内存中连续存放。每个数组有一个名字,数组中的每个元素有一个序号(称为下标),表示元素在数组中的位置,数组的维数和大小在定义数组时确定,程序运行时不能改变。一维数组的定义形式为:类型说......
  • Linux之脚本的函数数组
    目录一、shell函数1.1函数的定义二、数组三、冒泡一、shell函数将命令序列按格式写在一起可方便重复使用命令序列shell函数的定义调用函数的方法注意事项直接写函数中调用函数直接写函数名同名函数后一个生效调用函数一定要先定义只要先定义了调用的其他......
  • shell函数与数组
    目录shell函数与数组shell函数函数定义函数递归阶乘题目shell数组冒泡排序shell函数与数组shell函数函数定义将命令序列按格式写在一起可方便重复使用命令序列shell函数定义使用函数可以将大模块分割成小模块函数的组成:函数名、函数体[root@localhost~]#helpfuncti......
  • 力扣- 删除有序数组中的重复项
    给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过:更改......
  • javascript 高级编程系列 - 定型数组
    定型数组是一种用于处理数值类型数据的专用数组,最早是在webGL中使用的,WebGL是OpenGLES2.0的移植版,在web页面中通过<canvas>元素来呈现它。定型数组也被一同移植而来,其可为javascript提供快速的按位运算。在javascript中,数字是以64位浮点格式储存的,并按需转换为32位整数,所以算术......