数据结构实践项目之校园导航系统

本文通过一个数据结构实践项目——校园导航系统,展示了如何使用数据结构来实现地图的存储与查询。项目包含`map.h`头文件,`map.c`实现文件以及`main.c`主程序,实现了地图数据的高效管理。
摘要由CSDN通过智能技术生成
/*  
*Copyright (c) 2015,烟台大学计算机学院  
*All rights reserved.  
*文件名称:test.cpp  
*作者:王敏 
*完成日期:2015年12月24日  
*版本号:v1.0  
*  
*问题描述:创建一个校园导航系统,能进行简单的景点间最短距离的查询及景点的介绍
         1.将程序用多文件组织的形式保存
         2.讲景点信息存入文本文件
*输入描述:要进行的功能序号
*程序输出:  执行的相应功能
*/   

map.h

#include<stdio.h>
#include<stdlib.h>//调用system函数
#include<conio.h>
#include<string.h>
#define maxsize 600
#define INF 32767//两景点不可到距离长度
int visited[maxsize];//全局变量
int path[maxsize][maxsize];//经过景点
int shortest[maxsize][maxsize];//最短路径
typedef struct//定义对各个景点信息存储的结构体类型
{
    int top;//景点序号
    char info[maxsize];//景点名称
    char introduce[maxsize];//景点介绍
} data;//定义顶点类型
typedef struct node
{
    int adj;//相邻接的景点间的距离
} node;//定义边的类型
typedef struct
{
    data vertex[maxsize];//景点、顶点
    node arcs[maxsize][maxsize];//景点间距离
    int vexnum,arcnum;//景点数、边数
} adjmatrix;//定义图的类型

void Browser();/*校园地图*/
void PlaceList();/*已存景点阅览*/
void creatvisited(adjmatrix *g);/*访问标志数组初始化*/
void DFS(adjmatrix *g,int v);/*深度遍历*/
void search(adjmatrix *g);/*遍历*/
void vernumfile(adjmatrix *g);/*已存景点信息文本*/
void arcnumfile(adjmatrix *g);/*已存景点间路径文本*/
void readvernum(adjmatrix *g);/*读取景点信息*/
void readarcnum(adjmatrix *g);/*读取路径信息*/
void findvernum(adjmatrix *g);/*查询景点信息*/
void floyd(adjmatrix *g);/*弗洛伊德算法*/
void shortload(adjmatrix *g);/*最短路径*/
int meun();/*菜单栏*/


map.c

#include"map.h"
/*校园地图*/
void Browser()
{
    system ("color 00");
    printf(" 烟台大学校园平面图");
    printf("\n");
    printf("         南门                       ");
    printf("\n");
    printf("    //    ||      \\            \\  ");
    printf("\n");
    printf("   //     ||       \\            \\ ");
    printf("\n");
    printf("  //  逸夫图书馆===综合楼======大学生活动中心");
    printf("\n");
    printf(" //       ||               ");
    prin
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值