此处共有两段代码:
一、
这段代码比较全面,其中参考了github上的相关源码。可以说功能强大。
//Dijkstra(迪杰斯特拉算法)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 100 // 矩阵最大容量
#define INF 65535 // 最大值65535
#define isLetter(a) ((((a)>='a')&&((a)<='z')) || (((a)>='A')&&((a)<='Z')))
#define LENGTH(a) (sizeof(a)/sizeof(a[0]))
// 图的邻接矩阵存储
typedef struct _graph
{
char vexs[MAX]; // 顶点集合
int vexnum; // 顶点数
int edgnum; // 边数
int matrix[MAX][MAX]; // 邻接矩阵
}Graph, *PGraph;
// 边的结构体
typedef struct _EdgeData
{
char start; // 边的起点
char en