迪杰斯特拉算法和弗洛伊德算法

关于迪杰斯特拉算法的实现#include <stdio.h>#include <string.h>#include <stdlib.h>#define Max 20#define INFINITY 65535typedef char Onechange;typedef struct Three { Onechange ver[Max+1]; int edg[Max][Max];}Three;void Twochang...
摘要由CSDN通过智能技术生成

关于迪杰斯特拉算法的实现

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

#define Max 20

#define INFINITY 65535

typedef char Onechange;

typedef struct Three {

    Onechange ver[Max+1];

    int edg[Max][Max];

}Three;

void Twochange( Three *g )

{

    int i = 0;

    int j = 0;

    int Num;

    Onechange Ver;

    printf("输入图的顶点:\n");

    while( '\n' != (Ver=getchar()) )

        g->ver[i++] = Ver;

    g->ver[i] = '\0';

   

    Num = strlen(g->ver);

    printf("请输入顶点相应的的邻接矩阵:\n");

    for( i=0; i<Num; i++ )

        for( j=0; j<Num; j++ )

            scanf("%d", &g->edg[i][j]);

}

void PrintThree( Three g )

{

    int i, j;

    int Num = strlen(g.ver);

    printf("图的顶点为:\n");

    for( i=0; i<Num; i++ )

        printf("%c ", g.ver[i]);

    printf("\n");

   

    printf("图的邻接矩阵为:\n");

    for( i=0; i<Num; i++ ) {

        for( j=0; j<Num; j++ )

            printf("%d ", g.edg[i][j]);

        printf("\n");

    }

}

int Cal

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值