电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

城市链表实验报告

城市链表实验报告_第1页
1/8
城市链表实验报告_第2页
2/8
城市链表实验报告_第3页
3/8
2024-2024 学年第一学期实验报告课程名称: 算法与数据结构 实验名称: 城市链表 一、 实验目的 本次实验的主要目的在于熟悉线性表的基本运算在两种存储结构上的实现,其中以熟悉 各种链表的操作为侧重点。同时,通过本次实验帮助学生复习高级语言的使用方法。二、 实验内容 (一)城市链表 : 将若干城市的信息,存入一个带头结点的单链表。结点中的城市信息包括:城市名,城 市的位置坐标。要求能够利用城市名和位置坐标进行有关查找、插入、删除、更新等操作.(二) 约瑟夫环m 的初值为 20;密码:3,1,7,2,6,8,4(正确的结果应为 6,1,4,7,2,3,5).三、 实验环境 VS2024 、win8。1四、 实验结果(一)城市链表:(1) 创建城市链表; (2) 给定一个城市名,返回其位置坐标; (3) 给定一个位置坐标 P 和一个距离 D,返回所有与 P 的距离小于等于 D 的城市。 (4) 在已有的城市链表中插入一个新的城市; (5) 更新城市信息; (6) 删除某个城市信息。(二) 约瑟夫环m 的初值为 20;密码:3,1,7,2,6,8,4输出 6,1,4,7,2,3,5。五、 附录城市链表:5。1 问题分析该实验要求对链表实现创建,遍历,插入,删除,查询等操作,故使用单链表.5.2 设计方案该程序大致分为以下几个模块:1。创建城市链表模块,即在空链表中插入新元素。故创建城市链表中包涵插入模块。2。返回位置坐标模块。3。计算距离模块4。插入模块。5。更新城市信息模块6。删除信息模块.5.3 算法5.3。1 根据中心城市坐标,返回在距离内的所有城市:void FindCityDistance(citylist *L){//根据距离输出城市……//输入信息与距离L=L->next;while(L != NULL){if(((L—〉x—x1)*(L—〉x—x1)+(L—>y-y1)*(L->y—y1)〈=dis*dis)&&(((L—〉x-x1)+(L-〉y-y1))!=0 )){printf("城市名称%s\n",L—〉Name);printf("城市坐标%.2lf,%。2lf\n”,L—>x,L->y);}L=L->next;}} 该算法主要用到了勾股定理,考虑到不需要实际数值,只需要大小比较,所以只用横坐标差的平方+纵坐标差的平方 〈= 距离的平方 判定。 因中心城市本身也在判定范围之内,所以添加了判定条件横纵坐标差的和不能为零.5.3。2主程序中循环条件判定:for( ; ; ){printf("请选择您的操作\n");printf(”1。创建城市链表\n”);printf(”2。根据名字查询城市\n");printf("3。插入\n”);printf("4。删除\n”);printf("5.更新城市信息\n...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

城市链表实验报告

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部