1.实验题目
城市链表
2.本演示程序用 TC 编写,完成城市单链表的生成,查询城市名或坐标,插入新的城市信息,
删除无用城市信息,城市范围信息,查找退出城市管理系统。
① 输入的形式和输入值的范围:插入元素时需要输入插入的位置和元素的值;删除元素
时输入删除元素的位置;查找操作时需要输入元素的值。在所有输入中,元素的值都是整数
② 输出的形式:在所有三种操作中都显示操作是否正确以及操作后单链表的内容。其中
删除操作后显示删除的元素的值,查找操作后显示要查找元素的位置。
③ 程序所能达到的功能:完成城市单链表的生成,查询城市名或坐标,插入新的城市信
息,删除无用城市信息,城市范围信息,查找退出城市管理系统。
3.概要设计
1)为了实现上述程序功能,需要定义单链表的抽象数据类型:
ADT LinkList {
数据对象:D={ai|ai∈IntegerSet,i=0,1,2,…,n,n≥0}
数据关系:R={<ai,ai+1>|ai,ai+1 ∈D}
基本操作:
Create_Sq(L1)
操作结果:构造一个单链表 L.
插入新的城市信息 listinsert(L)
初始条件:单链表 L 已存在
操作结果:将元素 e 插入到单链表 L 的后面
listdelete(L1,i)
初始条件:单链表 L 已存在
操作结果:将单链表 L 中删除无用城市信息,
元素值置入 e 中返回
ListFind_sq(L)
初始条件:单链表 L 依存在
操作结果:单链表 L 中查找是否城市,
若存在,返回元素在表中的位置;若不存在,返回-1.
ListFound_sq( L)
初始条件:单链表 L 依存在
操作结果:单链表 L 中查找城市范围信息
2)本程序包含 6 个函数:
1 主函数 main()
2 初始化单链表函数 Create_Sq(L1)
3 插入新的城市信息函数 listinsert(L1,i)
4 删除无用城市信息函数 listdelete(L1,i)
5 查找城市名或坐标函数 ListFind_sq(L)
6 退出城市管理系统函数 exit(1)
4.详细设计