妹妹,我这编程的思想如下.doc

妹妹,我这编程的思想如下.doc

ID:55605578

大小:54.00 KB

页数:2页

时间:2020-05-20

妹妹,我这编程的思想如下.doc_第1页
妹妹,我这编程的思想如下.doc_第2页
资源描述:

《妹妹,我这编程的思想如下.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、妹妹,我这次编程的思想如下:个人不太熟练用链表,所以选择了结构数组来存储数据。首先,我把所有数据存在10个结构数组中,构成类似链表的链式结构。然后所有的操作都是在这些数据上进行的。主要介绍一下查找路线函数。由于采用存储结构的限制,我们得先定义几个有用的函数。boolempty(citytest[11]);这个函数是用来检测test[11]是否为空结构数组的。返回布尔数1或0.char*lastcityname(citytext[11]);这是用来返回结构数组链中最后一位城市名称的。返回一个字符串。citysearchsmall(char*aa);这是用来返回与一个

2、城市相连的没经过的城市中最小代价的城市名字的。返回一个结构体。其中city是一个定义的结构体,我的程序中定义了十个该类型的结构数组,用来储存路线以便输出路线用。当然这是最坏情况下需要用到的存储路线数组数。其结构内容看程序。下面详细说说我的查找路线函数的算法。以票价和最小(即费用最少)为例。首先从端口得知城市起点,然后从已定义的该节点连接的城市中找出最省钱的一个节点并写入第一个存储数组,并在标志数组(是定义的一个数组用来表示某个城市是否已经在路线之中,在的话就不必再重新走过了)标记该节点已经不能再走了。其实这一步可以融合到普通步骤中一起实现。(具体算法参见Dijks

3、tra算法)普通循环步骤:(关键)检查当前节点是否为目的地,是则不用再做以下工作,否则继续做以下工作。首先,对于每条存储链的最后一个城市(链末)的连接节点进行搜索,搜索出每个节点的下一最省资源(钱或时间)节点。他的前一节点即刚才作为链尾的点中已经存储了该链的代价,加上刚才搜的最小代价点的值,放入一个比较数组中。我把每条存储链的代价存在最靠后一个结构体里(意义上不是总是某一固定位,因为每次都需要添加一位),循环存的话,就是每次都得改值,节点值也在变。其次,分别对每条存储路线链采取同样操作。然后比较并选择最小的消耗链,在其末尾添加刚才搜索出的最小代价节点。这样就做了一

4、个普通循环步骤所应该做的事情。当然在添加之前应该保存搜出的所有链对应的最小节点,用一结构数组保存。然后转到开始即可。PS:不明白的地方再问我吧,我也不知道该写些什么。搜索路径的函数流程图大致如下:搜索最短路径函数框图

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。