#include <stdio.h>
#include <stdbool.h>
#define NotAVertex -1
#define NumVertex 7
typedef int Vertex;
typedef int DistType;
typedef int WeightType;
typedef struct { int i; }list;
struct TableEntry {
list header;
int known;
Vertex path;
DistType dis;
};
typedef struct TableEntry Table[NumVertex];
struct adj_node{
Vertex node_name;
WeightType weight;
struct adj_node* next;
};
typedef struct adj_node* ptr_adj_node;
struct array_entry {
ptr_adj_node ptr;
};
typedef struct array_entry adj_list_array[NumVertex];
struct graph {
int nv, ne;
adj_list_array ALA;
};
typedef struct graph* Graph;
void ReadGraph(Graph G, Table T)
{
}
void InitTable(Vertex Start, Graph G, Table T)
{
int i;
ReadGraph(G, T);
for (i = 0; i < NumVertex; i++)
{
T[i].known = 0;
T[i].path = -1;
T[i].dis = 10000000;
}
T[Start].dis = 0;
}
Vertex FindSmallest(Table T)
{
int i, min;
for (i = 0; i < NumVertex && T[i].known =
Dijkstra算法(第一版)(邻接表)
最新推荐文章于 2023-06-17 15:54:33 发布