数据结构课程设计——校园导游

南 通 大 学

计算机科学与技术学院

数据结构课程设计报告

姓    名:

**         

班    级:

网工**   

学    号:

******     

指导老师:

*******         

选    题:

校园导游       

日    期:

2018.01.18       

 

           

           

         

         

 

 

  • 问题分析及功能设计

校园占地几千亩,生活设施分布较散;校园内景色优美,景点甚多。在校园内移动,因时间、交通工具和用户兴趣等原因,需要选择线路。本设计的主要任务是为在南通大学新校区内生活、购物、参观,学习的人们提供行走路线查询、选择、景点介绍的帮助。

以下是校园导游系统应具备的功能:

  1. 根据用户需求智能推荐相关地点。
  2. 粗略展示校园平面图。
  3. 罗列各个景点,实现对某个景点的详细查询。

(4)给出到某个景点的最佳路线。

(5)管理员可以修改景点信息。

struct VertexNode{     //创造一个存储景点及其该景点信息的顶点

  • 数据结构设计

为了实现以上的功能,达到寻找最短路线的目的,我选择无向网的邻接矩阵存储方式。

景点信息有多个数据项,可分别设计结构体:

1.道路(弧)数据项表示:

struct ArcNode{        

      int adj;            //该弧指向的顶点位置

      char *info;          //该弧相关信息的指针

};

2.景点(顶点)数据项表示:

      int number;

      char *view;

      char *info;

};

3.整个图数据项表示:

    struct MGraph{       //创建地图

       VertexNode vex[NUM];

       ArcNode arcs[NUM][NUM];

       int vexnum,arcnum;      //顶点数,边数

};

 

三、算法设计

3.1地图(无向网)的创建

MGraph g;

int P[NUM][NUM];

long int D[NUM];

int x[13]={0};

void CreateMap(int v,int a);

 

void CreateMap(int v,int a)

{

     int i,j;

     g.vexnum=v;

     g.arcnum=a;

     for(i=1;i<g.vexnum;++i)

    g.vex[i].number=i;

     g.vex[0].view="名称";

     g.vex[0].info="景点简介";

     g.vex[1].view="西门";

     g.vex[1].info="西门外交通便利,外是南通市近几年来的新开发地段,有繁华的商业街,购物中心等";

     g.vex[2].view="西操场";

     g.vex[2].info="含一个大型体育场,一个小型足球场和排球场,及篮球场,是通大师生锻炼身体的最佳场所";

     g.vex[3].view="一食堂";

     g.vex[3].info="位于学校西部,面积不大但菜色齐全,种类繁多,口味偏重,三楼设有独立包厢";

     g.vex[4].view="北门";

     g.vex[4].info="位于学校北部,几年刚刚改造成为与外界往来的出入口,外方便乘坐公交,附近有妇幼保健院";

     g.vex[5].view="一超市";

     g.vex[5].info="位于学校中西部,与校内自助银行,邮政,眼睛店相连,主要出售学生日常生活学习用品";

     g.vex[6].view="图书馆";

     g.vex[6].info="坐落于学校中央,面朝内湖,建筑造型独特,藏书丰富,另含校史馆及张骞艺术馆";

     g.vex[7].view="校园服务中心";

     g.vex[7].info="位于二食堂西部,是于2017年新建成的,内设有移动联通服务店,自助银行取款机,奶茶店,深受大学生青睐";

     g.vex[8].view="小北街";

     g.vex[8].info="位于学校北门,以小饭店居多,是吃饭休息的绝佳选择";

     g.vex[9].view="纺化楼";

     g.vex[9].info="位于学校西南部,是南通大学纺织学院的主要教学楼,以及生命科学学院实验研究室,造型独特,是拍照及佳的好地方";

    g.vex[10].view="二超市";

     g.vex[10].info="与二食堂同属一栋建筑,面积大,商品全,且有打印复印点,出售复习资料";

     g.vex[11].view="逸夫楼";

     g.vex[11].info="由邵逸夫先生捐献的三栋教学楼,建筑简洁大方,其中7号楼为我校行政办公楼,该楼南边有张謇先生雕像";

     g.vex[12].view="二食堂";

     g.vex[12].info="二食堂是我校综合食堂,饮食类型丰富,满足了不同地域大学生需求;含清真食堂,教工食堂,三楼是大学生活动中心";

     g.vex[13].view="范曾艺术馆";

     g.vex[13].info="该馆外观造型独特,颇具风格,于2014年开馆,国内首家范曾艺术馆,收藏范曾先生画作";

     g.vex[14].view="体育馆";

     g.vex[14].info="主要供击剑、篮球及乒乓球用的运动场,举办过许多大型赛事及宣讲活动,设施齐全";

     g.vex[15].view="东操场";

     g.vex[15].info="位于学校东部,含篮球场、网球场及其他运动设施,是许多学生活动的举办地";

     g.vex[16].view="医疗服务中心";

     g.vex[16].info="位于二食堂附近,是为通大师生服务的小型医疗中心";

     for(i=1;i<g.vexnum;++i)

     {

            for(j=1;j<g.vexnum;++j)

            {

                   g.arcs[i][j].adj=Max;

                   g.arcs[i][j].info=NULL;

            }

     }

     g.arcs[1][2].adj=g.arcs[2][1].adj=200;

    g.arcs[1][3].adj=g.arcs[3][1].adj=400;

    g.arcs[1][9].adj=g.arcs[9][1].adj=600;

    g.arcs[2][4].adj=g.arcs[4][2].adj=300;

    g.arcs[3][5].adj=g.arcs[5][3].adj=500;

    g.arcs[3][6].adj=g.arcs[6][3].adj=200;

    g.arcs[4][8].adj=g.arcs[8][4].adj=30;

     g.arcs[4][5].adj=g.arcs[5][4].adj=100;

    g.arcs[5][6].adj=g.arcs[6][5].adj=50;

     g.arcs[5][7].adj=g.arcs[7][5].adj=200;

    g.arcs[6][7].adj=g.arcs[7][6].adj=100;

    g.arcs[7][10].adj=g.arcs[10][7].adj=30;

    g.arcs[9][3].adj&

  • 31
    点赞
  • 144
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值