美文网首页
dijkstra算法(C语言)

dijkstra算法(C语言)

作者: 奋斗live | 来源:发表于2019-02-12 17:07 被阅读0次
#include <stdio.h>
#define I  9999                                
#define N  20                                 
 
int num[N][N] = {
    {0,3,I,I,I,1,I,I,I,I,I,I,I,I,I,I,I,I,I,I},
    {3,0,5,I,I,I,6,I,I,I,I,I,I,I,I,I,I,I,I,I},
    {I,5,0,4,I,I,I,1,I,I,I,I,I,I,I,I,I,I,I,I},
    {I,I,4,0,2,I,I,I,6,I,I,I,I,I,I,I,I,I,I,I},
    {I,I,I,2,0,I,I,I,I,7,I,I,I,I,I,I,I,I,I,I},
    {1,I,I,I,I,0,1,I,I,I,2,I,I,I,I,I,I,I,I,I},
    {I,6,I,I,I,1,0,6,I,I,I,7,I,I,I,I,I,I,I,I},
    {I,I,1,I,I,I,6,0,2,I,I,I,3,I,I,I,I,I,I,I},
    {I,I,I,6,I,I,I,2,0,8,I,I,I,4,I,I,I,I,I,I},
    {I,I,I,I,7,I,I,I,8,0,I,I,I,I,5,I,I,I,I,I},
    {I,I,I,I,I,2,I,I,I,I,0,4,I,I,I,3,I,I,I,I},
    {I,I,I,I,I,I,7,I,I,I,4,0,3,I,I,I,4,I,I,I},
    {I,I,I,I,I,I,I,3,I,I,I,3,0,3,I,I,I,5,I,I},
    {I,I,I,I,I,I,I,I,4,I,I,I,3,0,7,I,I,I,2,I},
    {I,I,I,I,I,I,I,I,I,5,I,I,I,7,0,I,I,I,I,3},
    {I,I,I,I,I,I,I,I,I,I,3,I,I,I,I,0,5,I,I,I},
    {I,I,I,I,I,I,I,I,I,I,I,4,I,I,I,5,0,8,I,I},
    {I,I,I,I,I,I,I,I,I,I,I,I,5,I,I,I,8,0,6,I},
    {I,I,I,I,I,I,I,I,I,I,I,I,I,2,I,I,I,6,0,4},
    {I,I,I,I,I,I,I,I,I,I,I,I,I,I,3,I,I,I,4,0}
};
int temp_array[N];                                          
                                
 
void main()
{
    int i,j,k,min,index;
    int visited[N];
    for(i=0;i<N;i++){
        visited[i]=0;
        temp_array[i] = num[0][i];
    }
    visited[0] = 1;
    for(i=0;i<N-1;i++){
        min = I;
        for(j=0;j<N;j++){
            if(!visited[j]&&temp_array[j]<min){
                min = temp_array[j];
                index = j; 
            }
        }
        visited[index] =1;
        for(k=0;k<N;k++){
            if(!visited[k] && ((num[index][k]+temp_array[index])<temp_array[k])){
                temp_array[k] = num[index][k]+temp_array[index];
            }
        }
        
    }
    printf("到各节点的路径长度:\n");
    for(i=0;i<N;i++){
        printf("%c->%c:%2d\n",65,65+i,temp_array[i]);
    }
        
}

输出如下


image.png

相关文章

网友评论

      本文标题:dijkstra算法(C语言)

      本文链接:https://www.haomeiwen.com/subject/cfvkeqtx.html