<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 36,  comments - 3,  trackbacks - 0
    #include<stdio.h>
    //#include"graph.h"
    #include<iostream>
    using namespace std;
    typedef int InfoType;
    #define MAXV 100//最大頂點個數(shù);
    //以下為定義鄰接矩陣類型
    typedef struct 
    {
    int no;//頂點編號;
    InfoType info;//頂點其他信息,這里用于存放邊的權值;
    }VertexType;//頂點類型;以后在這里改類型;
    typedef struct 
    {
    int edges[MAXV][MAXV];//鄰接矩陣
    int n,e;              //頂點數(shù),弧數(shù)
    VertexType vexs[MAXV]; //存放頂點信息
    }MGraph;                      //圖的;鄰接矩陣類型
    //以下定義鄰接表的類型
    typedef struct ANode      //弧的結點結構類型
    {
    int adjvex;          //該弧的終點位置
    struct ANode *nextarc;//指向下一條弧的指針
    InfoType info;         //該弧的相關信息,這里用于存放權值
    }ArcNode;                //
    typedef int Vertex;
    typedef struct Vnode      //鄰接表頭結點的類型
    Vertex data;          //頂點信息
    ArcNode *firstarc;  // 指向第一條弧
    }VNode;                       
    typedef VNode AdjList[MAXV]; //AdjList是鄰接表類型
    typedef struct
    {
    AdjList adjlist;         //圖中頂點數(shù)n和邊數(shù)e
    int n,e;              //圖的鄰接表類型
    }ALGraph;
    #define INF 10000
    void dispath(int dist[],int path[],int s[],int n,int v0)
    {
    int i;
    printf("path:");
    for(i=0;i<n;i++)
    printf(" %3d",path[i]);
    printf("\n");
    for(i=0;i<n;i++)
    {
    if(s[i]==1&&i!=v0)
    {
    printf("從%d到%d的最短距離長度為:%d\t\n",v0,i,dist[i]);
    }
    else
    printf("從%d到%d不存在路徑\n",v0,i);
    }
    }
    void dijkstra(MGraph g,int v0)
    {
    int dist[MAXV],path[MAXV];
    int s[MAXV];
    int mindis,i,j,u,n=g.n;
    for(i=0;i<n;i++)
    {
    dist[i]=g.edges[v0][i];
    s[i]=0;
    if(g.edges[v0][i]<INF)
    path[i]=v0;
    else 
    path[i]=-1;
    }
    s[v0]=1;path[v0]=0;
    for(i=0;i<n;i++)
    {
    mindis=INF;
    u=-1;
    for(j=0;j<n;j++)
    {
    if(s[j]==0&&dist[j]<mindis)
    {
    u=j;
    mindis=dist[j];
    }
    }
    s[u]=1;
    for(j=0;j<n;j++)
    {
    if(s[j]==0)
    {
    if(g.edges[u][j]<INF&&dist[u]+g.edges[u][j]<dist[j])
    {
    dist[j]=dist[u]+g.edges[u][j];
    path[j]=u;
    }
    }
    }
    }
          printf("最短路徑為:\n");
     dispath(dist,path,s,n,v0);
    }
    int  main()
    {
    int i,j,u=0;
    MGraph g;
    int A[MAXV][6]={
    {INF,5,INF,7,INF,INF},
    {INF,INF,4,INF,INF,INF},
    {8,INF,INF,INF,INF,9},
    {INF,INF,5,INF,INF,6},
    {INF,INF,INF,5,INF,INF},
    {3,INF,INF,INF,1,INF}};
    g.n=6;
    g.e=10;
    for(i=0;i<g.n;i++)
    for(j=0;j<g.n;j++)
    g.edges[i][j]=A[i][j];
    printf("\n");
    dijkstra(g,u);
    printf("\n");
    return 0;
    }
    posted on 2013-05-15 19:15 天YU地___PS,代碼人生 閱讀(291) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網站導航:
     
    <2013年5月>
    2829301234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

     一定要好好學習,天天向上!

    常用鏈接

    留言簿

    隨筆分類(8)

    隨筆檔案(35)

    文章分類

    文章檔案(1)

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产成人久久AV免费| 最近免费中文字幕mv电影| 七次郎成人免费线路视频 | 久久久久亚洲AV成人片| 亚洲第一街区偷拍街拍| 丰满妇女做a级毛片免费观看| 日本激情猛烈在线看免费观看 | 亚洲精品在线不卡| 丁香花在线视频观看免费| 久久国产免费福利永久| 亚洲精品成人网站在线播放| 污视频在线观看免费| 国产亚洲成AV人片在线观黄桃 | 成年人网站在线免费观看| 亚洲日韩乱码中文无码蜜桃臀| 亚洲中文字幕一二三四区苍井空| 久久夜色精品国产嚕嚕亚洲av| 亚洲性久久久影院| 一级做a爰性色毛片免费| 亚洲一区二区三区香蕉| 久久精品中文字幕免费| 亚洲日韩国产精品无码av| 大地资源免费更新在线播放| 亚洲AV无码成人精品区日韩 | 91亚洲va在线天线va天堂va国产| 亚洲欧美国产国产一区二区三区| 本道天堂成在人线av无码免费| 国产高清视频免费在线观看| 中文字幕不卡亚洲| 337P日本欧洲亚洲大胆精品| 中文字幕无码成人免费视频| 日韩亚洲国产高清免费视频| 男人的天堂亚洲一区二区三区 | 亚洲精品天天影视综合网| 57pao国产成视频免费播放| 国产精品V亚洲精品V日韩精品 | 成人在线免费视频| 欧洲亚洲国产清在高| 国产在线观看免费观看不卡| 免费在线观看自拍性爱视频| 国产精品亚洲а∨无码播放|