java邻接矩阵创建有向图_邻接矩阵创建有向图
发布日期:2021-10-25 22:55:58 浏览次数:2 分类:技术文章

本文共 1121 字,大约阅读时间需要 3 分钟。

#include#define MAX_VERTEX_NUM 20

#define INFINITY 32768

#define ERROR -1

typedef enum {DG,DN,UDG,UDN} GraphKind;

typedef char VertexData;

typedef struct ArcNode

{

int adj; /*权值类型*/

char info;

}ArcNode;

typedef struct{

VertexData vertex[MAX_VERTEX_NUM];

ArcNode arcs[MAX_VERTEX_NUM][MAX_VERTEX_NUM];/*邻接矩阵*/

int vexnum,arcnum;

//GraphKind kind;

}AdjMatrix;

int LocateVertex(AdjMatrix *G,VertexData v)

{

int j = ERROR,k;

for(k = 0;k< G -> vexnum;k ++)

{

if(G -> vertex[k] == v )

{

j = k;

break;

}

}

return (j);

}

void CreatDN(AdjMatrix *G)

{

int i,j,k,weight;

VertexData v1,v2;

G=(AdjMatrix *)malloc(sizeof(AdjMatrix));

scanf("%d,%d",&G->vexnum,&G->arcnum);

for(i = 0;i < G->vexnum;i++)

for(i = 0;i < G->vexnum;i++)

G->arcs[i][j].adj=INFINITY;

for(i = 0;i < G->vexnum;i++)

scanf("%c",&G->vertex[i]);

for(k = 0;k< G->arcnum;k ++)

{

scanf("%c %c %d",&v1,&v2,&weight);

i = LocateVertex(G,v1);

j = LocateVertex(G,v2);

G->arcs[i][j].adj = weight;

}

//显示所有的结点信息

i=0;

while(G->vertex[i])

{

printf("%c",G->vertex[i]);

i ++;

}

// return G;

}

int main()

{

AdjMatrix *A=(AdjMatrix *)malloc(sizeof(AdjMatrix));

CreatDN(A);

return 0;

}

转载地址:https://blog.csdn.net/weixin_32075843/article/details/114798526 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java公路车咋样_JAVA佳沃这个车怎么样最近想入
下一篇:java中date如何获取月份_Java:从Date获取月份整数

发表评论

最新留言

不错!
[***.144.177.141]2024年03月22日 00时59分18秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章