• 大小: 80KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-07-24
  • 语言: C/C++
  • 标签: 交通图  C  

资源简介

交通图 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

评论

共有 条评论