求顶点v0=0到其他各个点的最小距离
#includeusing namespace std;#define N 100//最大顶点个数#define INF 32767 typedef struct/*图的邻接矩阵类型*/{ int edges[N][N]; //邻接矩阵 int vexnum,arcnum; //顶点数,弧数 //int vexs[N];//存放顶点信息---如该顶点的下一个顶点} MGraph;void DispMG(MGraph g);//输出邻接矩阵void Dijkstra(MGraph g,int v0);//狄克斯特拉算法从顶点v0到其余各顶点的最短路径void DisPath(int dist[],int path[],int s[],int n,int v0);//由path计算最短路径void PPath(int path[],int i,int v0);int main(){ int A[N][6]={ {INF,INF,10 ,INF,30 ,100}, {INF,INF,5 ,INF,INF,INF}, {INF,INF,INF,50 ,INF,INF}, {INF,INF,INF,INF,INF,10 }, {INF,INF,INF,20 ,INF,60 }, {INF,INF,INF,INF,INF,INF} }; MGraph g;//实例化邻接矩阵 g.vexnum=6; g.arcnum=10;//6个顶点,10条边 for (int i=0;i