资源简介
电子工业出版社 数据结构课程设计
将若干城市的信息,存入一个带头结点的单链表。结点中的城市信息包括城市名和城市的位置坐标。要求能过利用城市名和位置坐标进行有关查找、插入、删除、更新等操作。
代码片段和文件信息
#include
#include
#include //字符串处理函数的头文件
#include //动态存储分配实现单元
#include
#include
#include
typedef struct CityList {
char CityName[20]; //城市名
float XY; //坐标
int CityPopulation; //人口
float CityArea; //面积
struct CityList *Next;
}CityList *LHead; // 结点类型,指针类型
//***始化操作,创建链表
void Init(CityList *LHead) { //建立一个带头结点的单链线性表,LHead指向头结点
LHead->Next = NULL;
}
//***插入操作
void Insert(CityList *LHead) {
system(“cls“);
CityList* newNode; //定义指针结构为cityList型
char m;
newNode = (CityList*)malloc(sizeof(CityList)); //生成新结点
if(newNode == NULL) { //验证空间申请是否成功
printf(“内存分配失败\n“);
return; //若分配内存不成功,则返回继续分配。
}
printf(“\n请输入城市名称并回车:“);
scanf(“%s“&newNode->CityName); //指针的数据域
printf(“请输入城市坐标xy并回车:“);
scanf(“%f%c%f“&newNode->X&m&newNode->Y); //将城市信息填入新节点中
printf(“请输入城市人口并回车:“);
scanf(“%d“&newNode->CityPopulation);
printf(“请输入城市面积并回车:“);
scanf(“%f“&newNode->CityArea);
while(LHead->Next != NULL) {
LHead = LHead->Next; //如果非空,HLead指针的位置向后移
}
printf(“已成功插入新城市信息!\n“);
newNode->Next = LHead->Next;
LHead->Next = newNode; //将新节点插入链表
}
//***删除操作
void Delete(CityList *LHead) {
system(“cls“);
char delCity[20];
printf(“\n请输入要删除的城市名称并回车:“);
scanf(“%s“delCity);
if(LHead->Next == NULL) {
system(“color 9d“);
printf(“您删除的城市不存在请先创建城市!\n“);
return;
}
while(strcmp(LHead->Next->CityNamedelCity )) { /* 从LHead指向得头结点的下一个结点开判断
结点中的城市名与输入城市名是否相等 */
LHead = LHead->Next; //不相等则指针LHead下移,继续查找
}
LHead ->Next = LHead->Next->Next; //相等则删除此节点
printf(“以成功删除此城市信息!\n“);
}
//***更新操作
void UpdateCity(CityList* LHead) {
system(“cls“);
char CityName[20];
char m;
printf(“\n请输入您要更新的城市名称并回车:“);
scanf(“%s“CityName);
if(LHead->Next == NULL) {
printf(“\n您要更新的城市不存在,请先创建城市!\n“);
return;
}
while(strcmp(LHead->Next->CityNameCityName)) { /* 从LHead指向得头结点的下一个结点开判断
结点中的城市名与输入城市名是否相等 */
LHead = LHead->Next; //当不相等则指针LHead下移,继续查找
}
printf(“\n***请输入城市的新信息***\n“); //输入城市新信息
printf(“请输入城市的新名称并回车:“);
scanf(“%s“LHead->Next->CityName);
printf(“请输入城市的新坐标(XY)并回车:“);
scanf(“%f%c%f“&LHead->Next->X&m&LHead->Next->Y);
printf(“请输入城市的新人口:“);
scanf(“%d“&LHead->Next->CityPopulation);
printf(“请输入城市的新面积:“);
scanf(“%f“&LHead->Next->CityArea);
printf(“已成功更新该城市信息!\n“);
}
//***5、正向查找操作
void FindCity(CityList* LHead) {
system(“cls“);
char CityName[20];
int j=0;
printf(“\n请输入您要查找的城市名称并回车:“);
scanf(“%s
相关资源
- 数据结构课程设计 6 1 彩票系统
- 航空订票系统_数据结构课程设计
- 数据结构课程设计——图书管理系统
- 数据结构课程设计同学通讯录系统
- 数据结构课程设计 公园导游图
- 数据结构课程设计 校园导游系统
- 数据结构课程设计 表达式类型的实现
- 数据结构课程设计----表达式类型的实
- 数据结构课程设计表达式类型的实现
- 数据结构课程设计——基于链表与哈
- 数据结构课程设计之电梯模拟
- 数据结构课程设计——哈夫曼编/译码
- 数据结构课程设计医院选址系统
- 华工数据结构课程设计
- 数据结构课程设计—家谱管理系统
- 数据结构课程设计,基于二叉排序树
- 北邮数据结构课程设计-图书馆管理系
- 数据结构课程设计内部排序算法比较
- 数据结构课程设计-在线交易系统
- 霍夫曼树数据结构课程设计
- 数据结构课程设计_简单的文本编辑器
- 数据结构课程设计之运动会分数统计
- 中南大学 数据结构课程设计
- 数据结构课程设计报告(最小生成树
- 数据结构课程设计-池塘夜降彩色雨
- 安徽大学数据结构课程PPT
- 数据结构课程PPT(英文版)
- 数据结构课程设计 华南理工大学
- 数据结构课程设计 书店管理系统
- 数据结构课程设计——算数表达式求
评论
共有 条评论