typedef struct Path //定义边表节点
{
int placeNum; //存储顶点下标
int distance; //权重值
struct Path* next; //边指针
} Path;
typedef struct Place /*顶点表节点*/
{
string data; //顶点存的数据
Path* head; //指向一个邻接点链表(即边表)
} Place,PlaceList[MAXVEX];
typedef struct
{
PlaceList PlaceList;
int numVertexes,numEdges;
} Graph;
例如下面的图
利用邻接表表示(以0这个点为例)
图的PlaceList数组存了图中五个节点
0的节点跟1,2,3节点是相连的,所以他的邻接点链表(也就是边链表)有三个有值节点,分别表示1,2,3这三个点以及他们与0点的距离
可以根据下面这个例子理解一下
这个例子是输入各地点以及相连的距离,可以把图存入文件
#include<iostream>
#include<stdio.h>
#include