有,无向图的简单矩阵创建
2016-07-27 16:24
579 查看
无向图的领接矩阵为对称矩阵,有向图的领接矩阵可能是对称的,也可能是不对称的,有向图的领接矩阵和无向图相似。
无向图的领接矩阵。
![](http://img.blog.csdn.net/20160727161741114?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
有向图的领接矩阵。
![](http://img.blog.csdn.net/20160727162059834?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
可以看出有向领接矩阵图和无向领接矩阵图代码只是一点点不一样。无向对称,有向不一定对称。
以上代码在dev上调试通过
无向图的领接矩阵。
#include <stdio.h> typedef struct{ int arcs[20][20]; int vex[100]; int vexnum; int arcnum; }AdjMatrix; void Create(AdjMatrix *G) { int i,j,k,weight,vex1,vex2,vexnum,arcnum; printf("请输入无向网中的顶点数和边数:"); scanf("%d%d",&G->vexnum,&G->arcnum); for(i=0;i<G->vexnum;i++) for(j=0;j<G->vexnum;j++) G->arcs[i][j]=0; printf("请输入无向网中%d个顶点:",G->vexnum); for(i=1;i<=G->vexnum;i++) { printf("NO.%d个顶点:",i); scanf("%d",&G->vex[i]); } printf("请输入无向网中的%d条边:",G->arcnum); for(k=0;k<G->arcnum;k++) { printf("NO.%d条边的下标:",k+1); scanf("%d",&vex1); scanf("%d",&vex2); printf("权值:"); scanf("%d",&weight); G->arcs[vex1][vex2]=weight; G->arcs[vex2][vex1]=weight; } for(i=0;i<G->vexnum;i++) { for(j=0;j<G->vexnum;j++) printf("%d ",G->arcs[i][j]); printf("\n"); } } int main() { AdjMatrix G; Create(&G); }
有向图的领接矩阵。
#include <stdio.h> typedef struct{ int arcs[20][20]; int vex[100]; int vexnum; int arcnum; }AdjMatrix; void Create(AdjMatrix *G) { int i,j,k,weight,vex1,vex2,vexnum,arcnum; printf("请输入无向网中的顶点数和边数:"); scanf("%d%d",&G->vexnum,&G->arcnum); for(i=0;i<G->vexnum;i++) for(j=0;j<G->vexnum;j++) G->arcs[i][j]=0; printf("请输入无向网中%d个顶点:",G->vexnum); for(i=1;i<=G->vexnum;i++) { printf("NO.%d个顶点:",i); scanf("%d",&G->vex[i]); } printf("请输入无向网中的%d条边:",G->arcnum); for(k=0;k<G->arcnum;k++) { printf("NO.%d条边的起点下标和终点下标:",k+1); scanf("%d",&vex1); scanf("%d",&vex2); printf("权值:"); scanf("%d",&weight); G->arcs[vex1][vex2]=weight; } for(i=0;i<G->vexnum;i++) { for(j=0;j<G->vexnum;j++) printf("%d ",G->arcs[i][j]); printf("\n"); } } int main() { AdjMatrix G; Create(&G); }
可以看出有向领接矩阵图和无向领接矩阵图代码只是一点点不一样。无向对称,有向不一定对称。
以上代码在dev上调试通过
相关文章推荐
- windows 64bit 安装graphviz
- windows 64bit 安装graphviz
- windows 64bit 安装graphviz
- windows 64bit 安装graphviz
- windows 64bit 安装graphviz
- windows 64bit 安装graphviz
- windows 64bit 安装graphviz
- windows 64bit 安装graphviz
- windows 64bit 安装graphviz
- windows 64bit 安装graphviz
- windows 64bit 安装graphviz
- ArrayList的使用方法
- IOS开发中制作属于自己的静态库.a、资源库.bundle、.framework
- activity启动时替换背景
- 源码-PL/SQL从入门到精通-第十八章-PL/SQL性能优化建议-Part 2
- 我俩的博客素材0
- 学一点Git--20分钟git快速上手
- PHP超大文件下载,断点续传下载
- Google官方下拉刷新组件SwipeRefreshLayout
- 英语总结系列(十九):七月英语Baby成长史