资源描述:
《数据结构实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、中南民族大学管理学院学生实验报告实验目的:1、学会将信息存入带头结点的单链表中。2、能够对节点中的信息进行查找、插入、删除和更新等操作。3、学会对单链表的信息进行灵活运用,能够结合到实际运用中。实验内容:【问题描述】:将若干城市的信息,存入一个带头结点的单链表。结点中的城市信息包括:城市名,城市的位置坐标。要求能够利用城市名和位置坐标进行有关查找、插入、删除、更新等操作。【基本要求】(1)给定一个城市名,返回其位置坐标;(2)给定一个位置坐标P和一个距离D,返回所有与P的距离小于等于D的城市。【测试数据】由学生依据软件工程的测试技术自己确定。注意测试边界
2、数据。实验步骤:(一)需求分析1、本演示程序中,需要建立一个新的城市链表,链表建成后根据计算机终端上显示“提示信息”之后,由用户在键盘上输入演示程序中的运算命令和输入相应的数据并输出结果;2、程序执行的命令包括:1)建立城市链表;2)查找城市;3)添加城市;4)删除城市;5)城市更新;6)输出链表;7)城市搜索;8)退出链表。3、测试数据:城市名:wuhan坐标:(23,12)人口:939面积:352中南民族大学管理学院学生实验报告城市名:beijing坐标:(73,32)人口:637面积:673城市名:shanghai坐标:(43,22)人口:876面
3、积:342(二)概要设计1、数据类型定义:单链表的存储结构typedefstructLNode{ElemTypedata;structLNode*next;}LNode,*LinkList;typedefstruct{charname[20];intx;inty;floatpopulation;floatarea;}LinkList;创建链表:LinkListCreate()销毁链表:voiddestroyLinkList(LinkList&L)插入城市:Insert(LinkListL,LinkListElem)打印城市链表:PrintL(LinkLi
4、stL)打印城市信息:PrintP(LinkListP)按城市名查找:LinkListSearchName(LinkListL,charname[])按城市位置查找:LinkListSearchPosition(LinkListL,intX,intY)按城市名删除:LinkListDelName(LinkListL,charname[])中南民族大学管理学院学生实验报告按城市位置删除:LinkListDelPosition(LinkListL,intX,intY)按城市名更新:LinkListChangeName(LinkListL,charname[]
5、)按城市位置更新:LinkListChangePosition(LinkListL,intX,intY)城市搜索:Search(LinkListL,intX,intY,floatr)2、本程序还有8个模块:主程序模块:voidmain(){switch()case1:建立城市链表模块;case2:查找城市模块;case3:添加城市模块;case4:删除城市模块;case5:城市更新模块;case6:输出链表模块;case7:城市搜索模块;case0:退出;}各模块关系如下中南民族大学管理学院学生实验报告主函数建立城市链表查找城市添加城市城市更新输出链表城
6、市搜索退出程序删除城市(三)详细设计1、定义元素的类型、结点类型和指针类型typedefstructLNode{ElemTypedata;structLNode*next;}LNode,*LinkList;//结点类型,指针类型StatusLinkListCreate(LinkList&L,ElemTypee){//分配由L指向的元素为e、后继为空的结点时,则创建链表//若分配失败,则销毁链表LL=(LinkList)malloc(sizeof(LNode));if(!L){destroyLinkList(L);}L->data=e;L->next=NU
7、LL;}voiddestroyLinkList(LinkList&L){//空间分配失败后,对链表L进行销毁中南民族大学管理学院学生实验报告LinkListP;P=L->next;L->next=P->next;deleteP;P=L->next;L=NULL;}2、根据单链表的基本操作的特点,实现链表元素的查找、增加、删除。typedefstruct{charCityName[20];//城市的名称intx;//横坐标inty;//纵坐标floatpopulation;//人口floatarea;//面积}LinkList;LinkListSearch
8、Name(LinkListL,charCityName[]){//实现链表元素的