91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 50KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-14
  • 語言: 其他
  • 標簽:

資源簡介

圖的最短路徑算法實現(xiàn)實現(xiàn)

資源截圖

代碼片段和文件信息


#include?
#include?
#include?
?
?
#define?MAX?????????100?????????????????//?矩陣最大容量
#define?INF?????????65535???????? //?最大值65535
#define?isLetter(a)?((((a)>=‘a(chǎn)‘)&&((a)<=‘z‘))?||?(((a)>=‘A‘)&&((a)<=‘Z‘)))
#define?LENGTH(a)???(sizeof(a)/sizeof(a[0]))
?
//?圖的鄰接矩陣存儲
typedef?struct?_graph
{
????char?vexs[MAX];???????//?頂點集合
????int?vexnum;???????????//?頂點數(shù)
????int?edgnum;???????????//?邊數(shù)
????int?matrix[MAX][MAX];?//?鄰接矩陣
}Graph?*PGraph;
?
//?邊的結(jié)構(gòu)體
typedef?struct?_EdgeData
{
????char?start;?//?邊的起點
????char?end;???//?邊的終點
????int?weight;?//?邊的權(quán)重
}EData;
?
/*
?*?返回ch在matrix矩陣中的位置
?*/
static?int?get_position(Graph?G?char?ch)
{
????int?i;
????for(i=0;?i????????if(G.vexs[i]==ch)
????????????return?i;
????return?-1;
}
?
/*
?*?讀取一個輸入字符
?*/
static?char?read_char()
{
????char?ch;
?
????do?{
????????ch?=?getchar();
????}?while(!isLetter(ch));
?
????return?ch;
}
?
/*
?*?創(chuàng)建圖(自己輸入)
?*/
Graph*?create_graph()
{
????char?c1?c2;
????int?v?e;
????int?i?j?weight?p1?p2;
????Graph*?pG;
????
????//?輸入“頂點數(shù)“和“邊數(shù)“
????printf(“請輸入頂點的數(shù)目:\n?“);
????scanf(“%d“?&v);
????printf(“請輸入邊的數(shù)目:?\n“);
????scanf(“%d“?&e);
????if?(?v??(v?*?(v-1))))
????{
????????printf(“輸入有誤!!!\n“);
????????return?NULL;
????}
????
????if?((pG=(Graph*)malloc(sizeof(Graph)))?==?NULL?)
????????return?NULL;
????memset(pG?0?sizeof(Graph)); //初始化
?
????//?初始化“頂點數(shù)“和“邊數(shù)“
????pG->vexnum?=?v;
????pG->edgnum?=?e;
????//?初始化“頂點“
????for?(i?=?0;?i?vexnum;?i++)
????{
????????printf(“vertex(%d):?“?i);
????????pG->vexs[i]?=?read_char();
????}
?
????//?1.?初始化“邊“的權(quán)值
????for?(i?=?0;?i?vexnum;?i++)
????{
????????for?(j?=?0;?j?vexnum;?j++)
????????{
????????????if?(i==j)
????????????????pG->matrix[i][j]?=?0;
????????????else
????????????????pG->matrix[i][j]?=?INF;
????????}
????}
????//?2.?初始化“邊“的權(quán)值:?根據(jù)用戶的輸入進行初始化
????for?(i?=?0;?i?edgnum;?i++)
????{
????????//?讀取邊的起始頂點,結(jié)束頂點,權(quán)值
????????printf(“edge(%d):“?i);
????????c1?=?read_char();
????????c2?=?read_char();
????????scanf(“%d“?&weight);
?
????????p1?=?get_position(*pG?c1);
????????p2?=?get_position(*pG?c2);
????????if?(p1==-1?||?p2==-1)
????????{
????????????printf(“輸入有誤!!!\n“);
????????????free(pG);
????????????return?NULL;
????????}
?
????????pG->matrix[p1][p2]?=?weight;
????????pG->matrix[p2][p1]?=?weight;
????}
?
????return?pG;
}
?
/*
?*?創(chuàng)建圖(用已提供的矩陣)
?*/
Graph*?create_example_graph()
{
????char?vexs[]?=?{‘A‘?‘B‘?‘C‘?‘D‘?‘E‘?‘F‘?‘G‘};
????int?matrix[][9]?=?{
?????????????/*A*//*B*//*C*//*D*//*E*//*F*//*G*/
??????/*A*/?{???0??12?INF?INF?INF??16??14}
??????/*B*/?{??12???0??10?INF?INF???7?INF}
??????/*C*/?{?INF??10???0???3???5???6?INF}
??????/*D*/?{?INF?INF???3???0???4?INF?INF}
??????/*E*/?{?INF?INF???5???4???0???2???8}
??????/*F*/?{??16???7???6?INF???2???0???9}
??????/*G*/?{??14?IN

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-12-09?12:16??計科1702?2017040306陳家輝題目6.6--程序題--圖的最短路徑算法實現(xiàn)實現(xiàn)\
?????文件???????14431??2018-12-09?12:15??計科1702?2017040306陳家輝題目6.6--程序題--圖的最短路徑算法實現(xiàn)實現(xiàn)\題目6.6--程序題--圖的最短路徑算法實現(xiàn).cpp
?????文件??????141247??2018-12-09?12:15??計科1702?2017040306陳家輝題目6.6--程序題--圖的最短路徑算法實現(xiàn)實現(xiàn)\題目6.6--程序題--圖的最短路徑算法實現(xiàn).exe

評論

共有 條評論

相關(guān)資源