www.pudn.com > Dijkstra_Huffman_Prim.rar > Dijkstra.cpp
// Dijkstra.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include#include #define MAX 999 //MAX 表示无穷 #define M 40 void display(int ,int ,int*, int*); /*求图以顶点v为始点到其他各顶点间的最短路径的Dijkstra算法*/ void dijkstra(int ad[M][M],int pre[M],int n,int v) { int i,j,u,min,dist[M]; for(i=1; i<=n; i++) { dist[i] = ad[v][i]; if(dist[i] =0; j--){ fprintf(fp,"%d",k[j]); printf("%d",k[j]); } fprintf(fp,"\t\t%d\n",dist[i]); printf("\t\t%d\n",dist[i]); } } fclose(fp); } void main() { int ad[M][M],pre[M]; int n,v; //n为图的顶点数,v为源点 int t,i=1,j=1; printf("请输入已知图的顶点数:"); scanf("%d",&n); ifstream tp("Dijkstra.txt"); if(tp) //从文件读入图的相邻矩阵的元素数据 { while(!tp.eof()){ tp>>t; printf("<%d,%d>=%-3d ",i,j,t); ad[i][j]=t; j++; if(j==n+1){ printf("\n"); i++; j=1; } if(i==n+1)break; } tp.close(); } printf("选择一个结点:"); scanf("%d",&v); dijkstra(ad,pre,n,v); }