資源簡介
迪杰斯特拉算法有詳細的試驗報告 可以動態演示,已通過課程設計,資源特別棒 下載不后悔

代碼片段和文件信息
#include
#include????
#include
#include//導入要用的包
#define?n??5?//定義節點數為5
#define?Max?1000//將最大值Max設為1000
int?cost[n][n];//建立一個存儲權值的二維數組
int?path[n];//存儲路徑的數組
void?graph()
{
????
initgraph(700610);
setbkcolor(LIGHTGRAY);
cleardevice();
setcolor(BLUE);
????circle(35015050);
????circle(15025050);
circle(25055050);
circle(55045050);
circle(55025050);
line(350150150250);
line(150250250550);
line(250550550450);
line(550450550250);
line(550250350150);
line(350150550450);
????line(250550550250);
????outtextxy(250200_T(“10“));
outtextxy(200400_T(“50“));
outtextxy(400500_T(“20“));
outtextxy(550350_T(“60“));
outtextxy(450200_T(“100“));
outtextxy(450300_T(“30“));
outtextxy(400400_T(“10“));
outtextxy(350150_T(“0“));
outtextxy(150250_T(“1“));
outtextxy(250550_T(“2“));
outtextxy(550450_T(“3“));
outtextxy(550250_T(“4“));
}//繪制一個圖,并標出權值和節點名稱
void?Draw(int?path[]int?m[])//通過最短路徑繪圖函數
{
????? setcolor(RED);//連線用紅色線
for(int?i=0;i {?
int?a=m[i];//將j的值賦給a
????int?s1=a*10+path[a];//通過此公式表示將要連線的兩個節點
????Sleep(1500);//延時1500ms
????????????switch(s1)
{????
case?01:case?10:line(350150150250);?break;?//如果s1=01||10,連接0-1
case?04:case?40:line(550250350150);break;??//如果s1=04||40,連接0-4
case?03:case?30:line(350150550450);break;???//如果s1=03||30,連接0-3
case?12:case?21:line(150250250550);?break;?//如果s1=21||12,連接1-2
case?23:case?32:line(250550550450);??break;?//如果s1=23||32,連接2-3
case?42:case?24:line(250550550250);?break;?//如果s1=24||42,連接2-4
case?34:case?43:line(550450550250);?break;??//如果s1=34||43,連接3-4
default:break;
}
}
}
void?shortpath(int?v)
{
int?ijkwmtemp;
int?path[n];
int?m[n];
int?dist[n];
int?s[n];
for(i=0;i {
dist[i]=cost[v][i];//將原點到其它節點直接相連的權值賦給dist[]
if(dist[i]!=Max)//表示原點與節點i有直接連線
{
path[i]=v;//i的前一個節點為v
}
else?
{
path[i]=-1;//否則i之間沒有節點
}
s[i]=0;//表示i沒有找到最短路徑
}
s[v]=1;//原點已經找到最短路徑
dist[v]=0;//將原點排除在外
for(k=0;k {
wm=Max;
for(i=0;i {
if(!s[i]&&dist[i] {
j=i;
????wm=dist[i];
}
}
s[j]=1;//表示節點j已經找到最短路徑
????????m[k]=j;//將j的值賦給m[k]
for(i=0;i {
if(!s[i]&&dist[j]+cost[j][i] {
dist[i]=dist[j]+cost[j][i];
path[i]=j;//如果有,刷新為新的路徑,并表示i的前一個節點為j
}
}
}
for(i=0;i {
int?a=1;
cout< cout< cout<<“路徑:“< temp=path[i];
?
while(temp!=-1)??
{
cout<<“<——“<
temp=path[temp];
}
cout< }
getch();
????graph();
????Draw(pathm);
????getch();
}
int?main()
{??
int?v;
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????278598??2013-12-11?10:13??迪杰斯特拉\Debug\3.exe
?????文件?????400284??2013-12-11?10:13??迪杰斯特拉\Debug\3.ilk
?????文件??????12146??2013-12-11?10:13??迪杰斯特拉\Debug\3.obj
?????文件?????640000??2013-12-11?10:13??迪杰斯特拉\Debug\3.pdb
?????文件?????352329??2013-12-13?19:58??迪杰斯特拉\Debug\Cpp1.exe
?????文件?????580400??2013-12-13?19:58??迪杰斯特拉\Debug\Cpp1.ilk
?????文件??????23818??2013-12-13?19:58??迪杰斯特拉\Debug\Cpp1.obj
?????文件?????697344??2013-12-13?19:58??迪杰斯特拉\Debug\Cpp1.pdb
?????文件?????184393??2013-12-12?21:36??迪杰斯特拉\Debug\Cpp2.exe
?????文件?????185476??2013-12-12?21:36??迪杰斯特拉\Debug\Cpp2.ilk
?????文件???????7881??2013-12-12?21:36??迪杰斯特拉\Debug\Cpp2.obj
?????文件?????476160??2013-12-12?21:29??迪杰斯特拉\Debug\Cpp2.pdb
?????文件??????25600??2013-12-11?23:54??迪杰斯特拉\Debug\dj.pdb
?????文件?????352330??2013-12-15?20:36??迪杰斯特拉\Debug\graph.exe
?????文件?????580400??2013-12-15?20:36??迪杰斯特拉\Debug\graph.ilk
?????文件??????23810??2013-12-15?20:36??迪杰斯特拉\Debug\graph.obj
?????文件?????697344??2013-12-15?20:36??迪杰斯特拉\Debug\graph.pdb
?????文件?????307275??2013-12-15?22:40??迪杰斯特拉\Debug\Text14.exe
?????文件?????520284??2013-12-15?22:40??迪杰斯特拉\Debug\Text14.ilk
?????文件??????23280??2013-12-15?22:40??迪杰斯特拉\Debug\Text14.obj
?????文件?????705536??2013-12-15?20:43??迪杰斯特拉\Debug\Text14.pdb
?????文件?????246784??2014-01-07?21:09??迪杰斯特拉\Debug\vc60.idb
?????文件?????151552??2013-12-18?21:26??迪杰斯特拉\Debug\vc60.pdb
?????文件?????303183??2014-01-07?21:09??迪杰斯特拉\Debug\迪杰斯特拉.exe
?????文件?????497228??2014-01-07?21:09??迪杰斯特拉\Debug\迪杰斯特拉.ilk
?????文件??????23465??2014-01-07?21:09??迪杰斯特拉\Debug\迪杰斯特拉.obj
?????文件?????713728??2013-12-18?21:26??迪杰斯特拉\Debug\迪杰斯特拉.pdb
?????文件??????35328??2013-12-15?16:49??迪杰斯特拉\數據結構報告\[0]封面.doc
?????文件??????20480??2013-12-16?20:53??迪杰斯特拉\數據結構報告\[1]目錄.doc
?????文件?????261632??2014-06-10?21:23??迪杰斯特拉\數據結構報告\[2]報告正文.doc
............此處省略13個文件信息
- 上一篇:模電實驗報告
- 下一篇:qt 使用 echarts圖表
評論
共有 條評論