没有合适的资源?快使用搜索试试~ 我知道了~
C语言实现图的邻接矩阵存储操作

温馨提示


试读
3页
主要为大家详细介绍了C语言实现图的邻接矩阵存储操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
资源推荐
资源详情
资源评论


















C语言实现图的邻接矩阵存储操作语言实现图的邻接矩阵存储操作
主要为大家详细介绍了C语言实现图的邻接矩阵存储操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一
下
利用邻接矩阵容易判定任意两个顶点之间是否有边(或弧)相连,并容易求得各个顶点的度。
c语言代码实现如下:
#include<stdio.h>
#include<stdlib.h>
#define MAX_VER_NUM 50
typedef char VertexType;
typedef enum
{
DG,UDG
}GraphType;
typedef struct
{
VertexType vexs[MAX_VER_NUM]; //顶点向量
int arcs[MAX_VER_NUM][MAX_VER_NUM]; //邻接矩阵
int vexnum,arcnum; //图的当前顶点数和弧数
GraphType type; //图的种类标志
}MGraph;
//根据名称得到指定顶点在顶点集合中的下标
//vex 顶点
//return 如果找到,则返回下标,否则,返回0
int getIndexOfVexs(char vex,MGraph *MG)
{
int i;
for(i=1;i<=MG->vexnum;i++)
{
if(MG->vexs[i]==vex)
{
return i;
}
}
return 0;
}
//创建邻接矩阵
void create_MG(MGraph *MG)
{
int i,j,k;
int v1,v2,type;
char c1,c2;
printf("Please input graph type DG(0) or UDG(1):");
scanf("%d",&type);
if(type==0)
{
MG->type=DG;
}
else if(type==1)
{
MG->type=UDG;
}
else
{
printf("Please input correct graph type DG(0) or UDG(1)!");
return;
}
printf("Please input vexnum:");
scanf("%d",&MG->vexnum);
printf("Please input arcnum:");
scanf("%d",&MG->arcnum);
getchar();
for(i=1;i<=MG->vexnum;i++)
{
printf("Please input %dth vex(char):",i);
scanf("%c",&MG->vexs[i]);
getchar();
}
//初始化邻接矩阵
for(i=1;i<=MG->vexnum;i++)
{
for (j=1;j<=MG->vexnum;j++)
{
资源评论

- 芊暖2023-07-25总之,这篇文件是一篇很不错的介绍C语言图的邻接矩阵存储操作的文章,对于学习和应用图算法的人来说是一份很好的参考资料。
- 东郊椰林放猪散仙2023-07-25文章结合了具体的示例和代码实现,能够帮助读者更好地掌握C语言图的存储操作,并且给出了一些优化的思路。
- 方2郭2023-07-25作者没有过多地使用专业术语,让人们更容易理解和掌握这一技术,非常贴近实际应用。
- 食色也2023-07-25文章逻辑清晰,介绍了图的基本概念和邻接矩阵存储的优点和缺点,让读者能够深入理解该方法的应用场景。
- 五月Eliy2023-07-25这篇文件详细地介绍了C语言如何实现图的邻接矩阵存储操作,对于初学者来说非常实用。

weixin_38725950
- 粉丝: 3
- 资源: 902
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
