1 / 17
文档名称:

城市链表-数据结构课程设计.doc

格式:doc   大小:132KB   页数:17页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

城市链表-数据结构课程设计.doc

上传人:buzaiwuzhuang123 2022/8/28 文件大小:132 KB

下载得到文件列表

城市链表-数据结构课程设计.doc

相关文档

文档介绍

文档介绍:数据结构课程设计报告
1
设计题目<一>:
一、设计要求
1.问题描述
将若干个城市的信息,存入一个带头结点的单链表。结点中的城市信息包含城市名和城市的位置坐标。要求能够利用城市名和位置
CityList* newNode; //定义指针结构为cityList型
char m;
newNode = (CityList*)malloc(sizeof(CityList)); //生成新结点
if(newNode == NULL) //验证空间申请是否成功
{
printf("内存分配失败\n");
return; //若分配内存不成功,则返回继续分配。
}
printf("请输入城市名称并回车:");
scanf("%s",newNode->CityName); //指针的数据域
printf("请输入城市坐标x,y并回车:");
scanf("%f%c%f",&newNode->X,&m,&newNode->Y); //将城市信息填入新节点中
while(LHead->Next != NULL)
{
LHead = LHead->Next; //如果非空,HLead指针的位置向后移
}
printf("已成功插入新城市信息!\n");
newNode->Next = LHead->Next;
LHead->Next = newNode; //将新节点插入链表
}
(2).//****删除操作
void Delete(CityList *LHead)
{
char delCity[10];
printf("请输入要删除的城市名称并回车:");
scanf("%s",delCity);
if(LHead->Next == NULL)
{
printf("您删除的城市不存在,请先创建城市!\n");
数据结构课程设计报告
5
return;
}
while(strcmp(LHead->Next->CityName,delCity ))
//从LHead指向得头结点的下一个结点开判断结点中的城市名与输入城市名是否相等。
{
LHead = LHead->Next; //不相等则指针LHead下移,继续查找
}
LHead ->Next = LHead->Next->Next; //相等则删除此节点
printf("以成功删除此城市信息!\n");
}
(3). //****更新操作
void UpdateCity(CityList* LHead)
{
char CityName[10];
printf("请输入您要更新的城市名称并回车:");
scanf("%s",CityName);
if(LHead->Next == NULL)
{
printf("您要更新的城市不存在,请先创建城市!\n");
return;
}
while(strcmp(LHead->Next->CityName,CityName))
//从LHead指向得头结点的下一个结点开判断结点中的城市名与输入城市名是否相等。
{
LHead = LHead->Next; //当不相等则指针LHead下移,继续查找
}
printf("请输入城市新信息.\n"); //输入城市新信息
printf("请输入城市新名并回车:");
scanf("%s",LHead->Next->CityName);
printf("请输入城市新坐标并回车:");
scanf("%f",&LHead->Next->X);
数据结构课程设计报告
6
scanf("%f",&LHead->Next->Y);
printf("已成功更新城市信息!\n");
}
(4). //****正向查找操作
void FindCity(CityList* LHead)
{
char CityName[30];
int j=0;
printf("请输入您要查找的城市名称并回车:");
scanf("%s",CityName);
while(LHead->Next