资源简介
交通图 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
相关资源
- stc-isp-15xx-v6.86G
- Linux那些事儿之我是USB core
- STC8G1K08A红外遥控点灯
- C语言的嵌入式汇编基本使用.docx(2页
- stm32f103c8t6开发板原理图+pcb
- Arduino 敲琴MIDI电子琴 程序报告.docx
- CAN实验
- LCD驱动芯片ST7701SI SPI接口底层驱动配
- 显示屏操作(stm32f103c8t6(SAN))
- USB CAN Tool 源代码(LabVIEW 2011环境)
- Proteus 8.6仿真STM32F103C6
- atmega128 串口通讯(RS485.c)
- C语言嵌入式Modbus协议栈,支持主站和
- stm32 +w5500 裸机 远程升级 自动dns pi
- 永磁同步电机的FOC控制算法
- arduino I2C设备扫描并串口返回地址(
- Proteus仿真:LCD液晶屏显示.rar
- STM32 PCB封装库 全系列 全网不好找
- 基于STM32F407的W5500 tcpserver(官网例程
- 步进电机调速原理.c
- tm1650+stm32f103源码(board_tm1650.c)
- 颜色识别形状识别STM103嵌入式代码
- 基于STM32的音频信号采样与FFT分析
- 汽车电子编程规范(Unlock-MISRA C 2012)
- cheat engine 7.2源码
- 基于STM32F103C8T6主控板使用BH1750检测光
- cubeMX设计实现stm32f407上的CAN及485的通
- stm32 BootLoader程序(main.c)
- 新编Windows API参考大全.doc
- CrySearch内存搜索器源码
评论
共有 条评论