資源簡介
在地圖上有很多坐標點,
任意點擊2點可以顯示最短的連接路徑,
進行導航
任意點擊一點也顯示當前坐標信息

代碼片段和文件信息
#include?“Diagraph.h“
#include?
#include?
#include?
template?
Digraph::Digraph(?){
???count?=0;
}
template?
int?Digraph::get_count(){
??return?count;
}
template?
void?Digraph::readVertex(){//讀取結點的編號極其地址
??ifstream?infile;
??infile.open(“graphVertex.txt“);
??if(!infile){
??cout<<“Open?file?error!“< ??return;
??}
??int?noxy;
??infile>>no>>x>>y;
??while(infile){
?????VertexRecord?vt(noxy);
?vertexList.insert(vertexList.size()vt);
?infile>>no>>x>>y;
??}
}
template?
void?Digraph::read(?)
/*
Post:?A?user?specified?Digraph?has?been?read?from?the?terminal
5
0?1?3
0?2?5
1?3?5
*/
{
??ifstream?infile;
??infile.open(“graphTable.txt“);
??if(!infile){
??cout<<“Open?file?error!“< ??return;
??}
??int?sdw;
??infile>>count;
??infile>>s;
??while(infile)?{
?????infile>>d>>w;
?Vertex?v(dw);
?neighbors[s].insert(neighbors[s].size()v);?
?infile>>s;
??}
???cout<<“okread?is?finished!“< }
template?
void?Digraph::write(?)/*
Post:?The?Digraph?has?been?printed?to?the?terminal
*/
{
for?(int?i??=?0;?i? int?degree?=?neighbors[i].size();
cout?<“Vertex?“?< if?(degree?==?0)?
cout?<“has?no?successors“?< else?
cout?<“has?successors:?“;
for?(int?j?=?0;?j? Vertex?w;
neighbors[i].retrieve(j?w);
cout?< if?(j? cout?<“?“;
else?
cout?<“\n“;
}
}
}
//Dijkstra?shortest?path
template?
void?Digraph::set_distances(Vertex?source?int?distance[]int?preceding[]?/*記錄路徑信息*/)?const{
???
int?ij;
bool?found[graph_size];?//?Vertices?found?in?S
//initialize?set?s;
for?(?i?=?0;?i? found[i]?=?false;
distance[i]?=?infinity;
preceding[i]?=?source.no;
}
//initialize?distance[]
Vertex?x;
for(i=0;?i
neighbors[source.no].retrieve(ix);??
distance[x.no]?=?x.weight;
????????preceding[x.no]?=?source.no;
}
found[source.no]?=?true;?//?Initialize?with?vertex?source?alone?in?the?set?S.
distance[source.no]?=?0;
preceding[source.no]?=?source.no;
????
for?(i?=?0;?i? int?min?=?infinity;
int?minPos=-1;
for?(?j?=?0;?j? if?(!found[j])
if?(distance[j]? minPos?=?j;
min?=?distance[j];
}
found[minPos]?=?true;
Vertex?v(minPos0);
Vertex?w;
//for?(i?=?0;?i? for?(int?k?=?0;?k? if?(!found[k]){
w.no?=?k;
getAdjacency(vw);
if(min?+?w.weight? distance[k]?=?min?+?w.weight;
????preceding[k]?=?v.no;
}
}
}
}
template?
void?Digraph
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-01-18?13:43??校園導航\
?????目錄???????????0??2013-01-18?13:50??校園導航\DrawText\
?????目錄???????????0??2013-01-18?13:43??校園導航\DrawText\Debug\
?????文件???????10925??2012-10-08?08:35??校園導航\DrawText\Debug\Digraph.obj
?????文件??????647252??2012-10-08?08:35??校園導航\DrawText\Debug\DrawText.exe
?????文件??????280236??2012-10-08?08:35??校園導航\DrawText\Debug\DrawText.ilk
?????文件???????34164??2012-10-08?08:35??校園導航\DrawText\Debug\DrawText.obj
?????文件?????5627352??2012-10-08?08:35??校園導航\DrawText\Debug\DrawText.pch
?????文件??????353280??2012-10-08?08:35??校園導航\DrawText\Debug\DrawText.pdb
?????文件??????426356??2012-10-08?08:34??校園導航\DrawText\Debug\DrawText.res
?????文件??????123456??2012-10-08?08:35??校園導航\DrawText\Debug\DrawTextDlg.obj
?????文件???????10183??2012-10-08?08:35??校園導航\DrawText\Debug\li
?????文件????????1268??2012-10-08?08:35??校園導航\DrawText\Debug\Node.obj
?????文件??????105980??2012-10-08?08:35??校園導航\DrawText\Debug\StdAfx.obj
?????文件??????254976??2013-01-18?13:50??校園導航\DrawText\Debug\vc60.idb
?????文件??????462848??2012-10-08?08:35??校園導航\DrawText\Debug\vc60.pdb
?????文件????????1894??2012-07-04?09:07??校園導航\DrawText\detial.txt
?????文件????????1001??2012-07-04?13:13??校園導航\DrawText\Diagraph.h
?????文件????????6004??2012-07-02?15:56??校園導航\DrawText\Digraph.cpp
?????文件??????444808??2013-01-18?13:50??校園導航\DrawText\DrawText.aps
?????文件????????1031??2013-01-18?13:50??校園導航\DrawText\DrawText.clw
?????文件????????2091??2012-07-03?22:47??校園導航\DrawText\DrawText.cpp
?????文件????????5176??2012-07-03?23:56??校園導航\DrawText\DrawText.dsp
?????文件?????????522??2012-07-03?22:47??校園導航\DrawText\DrawText.dsw
?????文件????????1346??2012-07-03?22:47??校園導航\DrawText\DrawText.h
?????文件??????254976??2013-01-18?13:50??校園導航\DrawText\DrawText.ncb
?????文件???????49664??2013-01-18?13:50??校園導航\DrawText\DrawText.opt
?????文件?????????250??2012-10-08?09:48??校園導航\DrawText\DrawText.plg
?????文件????????5278??2012-07-03?23:10??校園導航\DrawText\DrawText.rc
?????文件????????9863??2012-07-04?15:23??校園導航\DrawText\DrawTextDlg.cpp
?????文件????????1921??2012-07-04?13:10??校園導航\DrawText\DrawTextDlg.h
............此處省略17個文件信息
- 上一篇:MicroStation--SDK--培訓教程
- 下一篇:用MFC做的圖書管理系統
評論
共有 條評論