資源簡介
交通圖 C語言實現,簡單的可以選擇兩地,篩選路程最短的交通圖

代碼片段和文件信息
#include?“headGraph.h“
Status?CreatNG(MGraph?&GMGraph?&G2FILE?*fpALGraph?&G1ALGraph?&G3)
{//創建鄰接矩陣,成功返回OK;否則,返回ERROR
int?ijk;
int?lengthhourcost;
????char?v1[MAX_VERTEX_NUM]v2[MAX_VERTEX_NUM]t1[6]t2[6]checi[10];
// printf(“請輸入頂點數\n“);
fscanf(fp“%d“&G.vexnum);
// getchar();
// printf(“請輸入邊總數\n“);
fscanf(fp“%d“&G.arcnum);
// getchar();
if(G.vexnum<0||G.arcnum<=0)
{
printf(“頂點或邊數目輸入有誤!\n“);
return?ERROR;
}
// printf(“請輸入頂點及關于頂點的相關信息\n“);
for(k=0;k {
fscanf(fp“%s“&G.vexs[k].name);
fscanf(fp“%s“&G.vexs[k].introduce);
}
for(i=0;i for(j=0;j {
G.arcs[i][j].cost=INFINITY;
G.arcs[i][j].length=INFINITY;
G.arcs[i][j].hour=INFINITY;
G.arcs[i][j].waitime=0;
strcpy(G.arcs[i][j].checi“?“);
??? strcpy(G.arcs[i][j].time1“?“);
strcpy(G.arcs[i][j].time2“?“);
}
//
for(k=0;k {
fscanf(fp“%d?%d?%d?%s?%s?%s?%s?%s“&?length&?hour&?cost&?v1&?v2&?t1&?checi&t2);
????// getchar();
i=LocateVex(Gv1);
????j=LocateVex(Gv2);
G.arcs[i][j].cost=cost;
G.arcs[i][j].length=length;
G.arcs[i][j].hour=hour;
strcpy(G.arcs[i][j].time1t1);
????????strcpy(G.arcs[i][j].checicheci);
strcpy(G.arcs[i][j].time2t2);
}
///
int?mi1j1w;
char?t[MAX_VERTEX_NUM]h[MAX_VERTEX_NUM];
ArcNode?*p*q*temp;
fscanf(fp“%d“&G1.vexnum);
// getchar();
fscanf(fp“%d“&G1.arcnum);
// getchar();
for(m=0;m {
fscanf(fp“%s“G1.vertices[m].data);
G1.vertices[m].firstarc=NULL;
}
for(m=0;m {
fscanf(fp“%d?%s?%s“&w&t&h);
// getchar();
i1=LocateVex2(G1t);
j1=LocateVex2(G1h);
p=(ArcNode?*)malloc(sizeof(ArcNode));
p->adjvex=j1;
p->nextarc=NULL;
p->info=w;
temp=(ArcNode?*)malloc(sizeof(ArcNode));
temp->adjvex=i1;
temp->nextarc=NULL;
temp->info=w;//ij?and?ji?is?the?same
//------------
if(!G1.vertices[i1].firstarc)
G1.vertices[i1].firstarc=p;
else
{
for(q=G1.vertices[i1].firstarc;q->nextarc;q=q->nextarc);
q->nextarc=p;
}
//-------------------
if(!G1.vertices[j1].firstarc)
G1.vertices[j1].firstarc=temp;
else
{
for(q=G1.vertices[j1].firstarc;q->nextarc;q=q->nextarc);
q->nextarc=temp;
}
}
//////////
int?i2j2k2;
int?length2hour2cost2;
????char?v12[MAX_VERTEX_NUM]v22[MAX_VERTEX_NUM]t12[6]t22[6]checi2[10];
// printf(“請輸入頂點數\n“);
fscanf(fp“%d“&G2.vexnum);
// getchar();
// printf(“請輸入邊總數\n“);
fscanf(fp“%d“&G2.arcnum);
// getchar();
if(G2.vexnum<0||G2.arcnum<=0)
{
printf(“頂點或邊數目輸入有誤!\n“);
return?ERROR;
}
// printf(“請輸入頂點及關于頂點的相關信息\n“);
for(k2=0;k2 {
fscanf(fp“%s“&G2.vexs[k2].name);
fscanf(fp“%s“&G2.vexs[k2].introduce);
}
for(i2=0;i2 for(j2=0;j2 {
G2.arcs[i2][j2].cost=INFINITY;
G2.arcs[i2][j2].length=INFINITY;
G2.arcs[i2][j2].hour=IN
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2010-03-13?08:06??交通圖\
?????文件????????6881??2009-01-02?18:27??交通圖\1.txt
?????文件????????1017??2009-01-02?19:25??交通圖\2.txt
?????文件????????5073??2009-01-01?17:30??交通圖\creat.cpp
?????文件????????2776??2009-01-02?13:53??交通圖\headGraph.h
?????文件?????????249??2009-01-01?00:44??交通圖\headmain.h
?????文件??????????90??2009-01-01?00:44??交通圖\head_main.h
?????文件??????????57??2009-01-02?17:57??交通圖\main.cpp
?????文件????????1017??2009-01-02?19:25??交通圖\t.txt
?????文件????????6881??2009-01-02?18:27??交通圖\test.txt
?????文件????????2904??2009-01-02?20:30??交通圖\User.cpp
?????文件??????123392??2009-01-02?20:40??交通圖\USTC----0711?交通圖.ppt
?????文件????????3064??2009-01-02?11:25??交通圖\刪除城市.cpp
?????文件????????6034??2009-01-02?15:35??交通圖\打印.cpp
?????文件????????2251??2009-01-02?20:30??交通圖\最短.cpp
?????文件????????1168??2009-01-02?14:37??交通圖\歡迎.cpp
?????文件????????9150??2009-01-07?00:10??交通圖\管理員.cpp
?????文件????????2006??2010-03-13?08:05??交通圖\重寫文件.cpp
評論
共有 條評論