三种建图方式

news/2025/1/11 15:51:28/文章来源:https://www.cnblogs.com/benscode/p/18665783
int n=20;//点的个数 
int m=21;//边的个数
const int maxn=25;//邻接矩阵建图
int gra1[maxn][maxn];
void build(int n,int m,int from[],int to[],int weight[])
{for(int i=1;i<=n;i++){for(int j=1;j<=n;j++)gra1[i][j]=0;//邻接矩阵清空 }for(int i=0;i<m;i++)//无向带权图 {gra1[from[i]][to[i]]=weight[i]; }for(int i=0;i<m;i++)//无向带权图 {gra1[from[i]][to[i]]=weight[i];gra1[to[i]][from[i]]=weight[i];}
}//邻接表建图
vector<pair<int,int>>arraylist[maxn];
void build(int n,int m,int from[],int to[],int weight[])
{for(int i=0;i<n;i++)arrarylist[i].clear();//邻接表清空for(int i=0;i<m;i++)//有向带权图 {arrarylist[from[i]].emplace_back({to[i],weight[i]});	}for(int i=0;i<m;i++)//无向带权图{arrarylist[from[i]].emplace_back({to[i],weight[i]});	arrarylist[to[i]].emplace_back({from[i],weight[i]});	} 
}
//链式前向星建图 (以边为主体) 
int head[maxn];//index点号,val边号 
int next[maxn];//index边号,val下一条边号 
int tto[maxn];//index边号,val去往的点 
int weightt[maxn];//权重void build(int n,int m,int from[],int to[],int weight[])
{//链式前向星清空 int cnt=1;//边号初始化为1 memset(head,0,sizeof(head));//每个点的头边号初始化为0for(int i=0;i<m;i++)//建立有向带权图 {next[cnt]=head[from[i]];tto[cnt]=to[i];weightt[cnt]=weight[i];head[from[i]]=cnt++;}}

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

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

相关文章

Text1-综合练习5

Text-综合练习5 产生十个1-100之间的随机数存入数组 求和 求平均数 找出有几个数字比平均值小 Random number1=new Random();Scanner number2=new Scanner(System.in);System.out.println("请输入要产生随机数的个数:");int n=number2.nextInt();int arr[]=new int […

Text1-综合练习6

Text-综合练习6 键盘录入n个数字,倒放他们的顺序 例如:输入1 2 3 4 5,输出5 4 3 2 1 Scanner EX=new Scanner(System.in);String arr[]=new String[100];String temp;int count=0;System.out.println("请输入要交换的数字:,以空格结束");for (int i = 0; i < 1…

Text1-综合练习2

Text-综合练习2 键盘录入一个大于2的整数,求它的平方根 结果省去小数部分保留整数 Scanner st=new Scanner(System.in);System.out.println("请输入一个大于2的整数:");int number1=st.nextInt();for(int i=1;i<number1;i++){//从1开始查找一直到number1的值int n…

Text1-综合练习1

Text1-综合练习1 逢七过 游戏规则:从任意一个数字开始报数 当你要报的数字包含七或者是七的倍数时都要说过 需求:使用程序在控制台打印出1-100之间满足逢七过规则的数 for(int i=1;i<=100;i++){if(i/10%10==7||i%10==7||i%7==0){//判断十位、个位有没有七,这个数是否能被七…

ciscn_2019_n_8 1

checksec一下能发现开了很多保护,吓人一跳,但其实我们分析一下发现只要var[13]为17就可以了if ( *(_QWORD *)&var[13] )#判断var[13]开始的8字节(_QWORD表示64位,即8字节)内存区域是否非零。*(_QWORD *)&var[13]是将var[13]的地址转换为_QWORD(64位整数)指针,然…

Unity URP Shader Graph 实现复古电视机效果

想到一出实现一出的复古电视机效果实现。复古电视机效果显示展示:使用素材 一张纹理需要放映的图片,一张遮罩贴图,一个电视机模型。UV使用Spherize模拟电视机球状显示屏。 扫描线A效果扫描线B效果像素化/随机UV偏移屏幕做旧效果边缘变暗效果屏幕黑边效果 自制一张合适的贴图…

终于决定:把自己家的能源管理系统开源了!

决定了很久把自己公司的能管平台开源了,部分功能和bug正在修复中。 欢迎star 欢迎轻拍 地址:https://gitee.com/ustcyc/zhitan-ems 介绍 通过物联网技术,采集企业水、电、气、热等能耗数据,帮企业建立能源管理体系,找到跑冒滴漏,从而为企业节能提供依据。 进一步为企业实…

Text-Switch的练习1

Text-Switch的练习1 键盘录入一个从一到七的数字表示星期 星期一到星期五是工作日 星期六和星期日是休息日 Scanner xq=new Scanner(System.in);System.out.println("请输入一个一到七之间的数字");int week=xq.nextInt();switch(week){case 1 :case 2 :case 3 :case…

Omnissa Dynamic Environment Manager 2412 - 个性化动态 Windows 桌面环境管理

Omnissa Dynamic Environment Manager 2412 - 个性化动态 Windows 桌面环境管理Omnissa Dynamic Environment Manager 2412 - 个性化动态 Windows 桌面环境管理 Simplify management of user profiles, environment settings, and policies across desktops and apps. 请访问原…

stata 检查哪些变量有缺失值

ssc install nmissing nmissing 说明这十个变量有缺失

Text-IfElse的练习1

Text-IfElse的练习1 某商场有vip的会员制,根据不同的会员会有不同的折扣,假设商品总价为1000,键盘录入会员级别,并计算出最终支付的钱 一级会员打九折;二级会员打八折;三级会员打七折;不是会员原价,打骨折int price=1000;Scanner mall=new Scanner(System.in);System.o…

Text-While循环的练习1

Text-While循环的练习1 判断一个数是否为回文数 回文数规则为:回文数就是一个数倒过来跟它本身相同,例如121,212 Scanner ba=new Scanner(System.in);System.out.println("请输入一个数字:");int i=ba.nextInt();int k=i;int num=0;while(k!=0){int g=k%10;//分离出…