欢迎来到天天文库
浏览记录
ID:51835529
大小:148.50 KB
页数:10页
时间:2020-03-16
《数据结构城市链表.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据结构实验报告___09___级__x____班_xxxxx___年___xx___月__xx___日姓名__xxxxx___学号_xxxxxxx___得分_____________1.实验题目 将若干城市的信息,存入一个带头结点的单链表。结点中的城市信息包括:城市名,城市的位置坐标。要求能够利用城市名和位置坐标进行有关查找、插入、删除、更新等操作。2.需求分析本演示程序用VC编写,完成城市链表的生成,插入、删除, 更新等操作。①输入的形式和输入值的范围:先创建一个城市链表需要输入五个城市的名称及城市的位置坐标;再输入你需要对
2、链表的操作功能号1输出城市链表信息、2查找、3插入、4删除、5修改、6输出与坐标P距离小于D的城市、0退出程序.查找城市时输入城市的名称;插入城市信息时输入城西的名称及它的位置坐标;删除链表中的城市需输入城市的名称;修改城市链表是需输入旧的城市名和新的城市名及新的位置坐标;操作6应输入中心城市的坐标及一个距离范围。在所有输入中,操作功能号是整数,城市名是单个的字母,位置坐标及距离是浮点型的数字。②输出的形式:黑框界面出现时就提示出入5个城市的数据域,之后每次操作都会输出包含各个操作的功能表以供选择,输出城市链表是会输出城市名及位置
3、坐标,其它的操作每一步都会输出相应的提示信息。③程序所能达到的功能:完成城市链表的生成、插入、删除、查找及更新操作④测试数据: A.创建城市链表操作中依次输入e1.02.0←d2.02.5←c4.53.2←b5.42.6←a7.45.2生成一个城市链表 B.查找操作中输入城市名c返回这个城市的位置坐标4.53.2C.插入操作中依次输入新的城市名及位置坐标f,7.4,3.5,返回插入成功提示 D.删除操作中输入需删除的城市名f,返回删除成功提示E.更新操作依次输入e,g,2.8,5.7返回更新成功提示F.查找距离操作中依次
4、输入中心坐标及距离3.8,6.4,2.66返回链表中符合要求的城市信息g,2.8,5.73.概要设计 1)为了实现上述程序功能,需要定义单链表的抽象数据类型: ADTLinkList{ 数据对象:D={ai
5、ai∈IntegerSet,i=0,1,2,…,n,n≥0} 数据关系:R={
6、ai,ai+1∈D} 基本操作: CityCreateList() 操作结果:构造一个城市链表L,录入五个城市信息. search() 初始条件:城市链表已存在操作结果:查找是否有与输入值一致的城市名,若存
7、在,返回城市的位置坐标; Insert() 初始条件:城市链表已存在 操作结果:将新的城市信息插入到链表中 Delete()初始条件:城市链表已存在操作结果:删除链表需要删除的城市信息distance()初始条件:城市链表已存在操作结果:输出给定的一个距离范围内的所有城市信息alter()初始条件:城市链表已存在操作结果:修改链表中的城市信息print()初始条件:城市链表已存在操作结果:打印出城市链表中的所有城市信息 begin() 操作结果:在屏幕上显示操作功能号 2)本程序包含8个函数: ①主函数main()②
8、创建城市链表函数CityCreateList() ③显示操作功能函数voidbegin() ④显示单链表城市信息函数voidprint() ⑤插入一个城市函数voidInsert()⑥删除一个城市信息函数voidDelete()⑦查找城市坐标函数voidsearch()⑧修改城市链表函数voidalter()⑧查找一个固定距离范围内的城市voiddistance() 各函数间关系如下:4.详细设计#include#include#include#include9、b.h>#includetypedefintstatus;typedefstructdata{charCname;floatx;floaty;}data;typedefstructCityNode{datadata;structCityNode*next;}CityNode,*City;CityL;CityCreateList(){//创建城市链表inti;Cityp;L=(City)malloc(sizeof(CityNode));L->next=NULL;printf("请输入5个城市的数据域:");f10、or(i=0;i<5;i++){p=(City)malloc(sizeof(CityNode));scanf("%c%f%f",&p->data.Cname,&p->data.x,&p->data.y);getchar();p->next=L->n
9、b.h>#includetypedefintstatus;typedefstructdata{charCname;floatx;floaty;}data;typedefstructCityNode{datadata;structCityNode*next;}CityNode,*City;CityL;CityCreateList(){//创建城市链表inti;Cityp;L=(City)malloc(sizeof(CityNode));L->next=NULL;printf("请输入5个城市的数据域:");f
10、or(i=0;i<5;i++){p=(City)malloc(sizeof(CityNode));scanf("%c%f%f",&p->data.Cname,&p->data.x,&p->data.y);getchar();p->next=L->n
此文档下载收益归作者所有