int InsertCity( CityList *L, int k, CityRecord ARecord ) { int j; int OK; if(L->Len==(MAX_CITY_NUM-1)) { printf("表满"); OK=FALSE; } if (k<1||k>L->Len+1) { printf("位置错误"); OK=FALSE; } for (j=L->Len;j>=k;j--) L->DataArray[j+1]=L->DataArray[j]; L->DataArray[k]=ARecord; L->Len++; return OK;}int DeleteCity( CityList *L, int k ) { int OK; int i; if(k<1||k>L->Len) { OK=0; } for(i=k;i<L->Len+1;i++) L->DataArray[i]=L->DataArray[i+1]; L->Len--; return OK; }详细解读代码
时间: 2024-03-29 11:42:15 浏览: 15
这段代码实现了对一个城市列表(CityList)的插入和删除操作。其中,CityList是一个结构体,包含了一个CityRecord类型的数组DataArray和数组的长度Len。CityRecord是表示城市记录的数据结构,不在这段代码中给出。
InsertCity函数的作用是在CityList的第k个位置插入一个CityRecord类型的记录ARecord,并返回操作是否成功的标志OK。函数首先判断CityList是否已满,如果已满则返回“表满”错误信息,否则继续执行。接着,判断插入位置k是否合法,如果不合法则返回“位置错误”信息,否则继续执行。接下来,从CityList的最后一个元素开始,将元素逐个后移一个位置,直到第k个位置,然后将ARecord插入到第k个位置,并将CityList的长度Len加1。最后,返回OK标志。
DeleteCity函数的作用是从CityList中删除第k个记录,并返回操作是否成功的标志OK。函数首先判断要删除的位置k是否合法,如果不合法则返回0,否则继续执行。接下来,从第k个位置开始,将后面的元素逐个前移一个位置,直到最后一个元素,然后将CityList的长度Len减1。最后,返回OK标志。
相关问题
void CalcCityStatistic( CityList *L ) { int i; float TotalArea = 0.0, TotalPopulation = 0.0, TotalGDP = 0.0; printf( "\n\n" ); // 统计所有城市的 '面积( 平方公里 )', '人口( 万 )', 和 '地区生产总值( 亿元 )' 平均值 ... for (i = 0; i <= L->Len; i++) { TotalArea += L->DataArray[i].Area; TotalPopulation += L->DataArray[i].Population; TotalGDP += L->DataArray[i].GDP; } // 打印输出统计结果 ... printf( "\t< 城市平均 面积 为 : %.2f ( 平方公里 )>\n", ( TotalArea / ( L -> Len + 1 ) ) ); printf( "\t< 城市平均 人口 为 : %.2f ( 万 )>\n", ( TotalPopulation / ( L -> Len + 1 ) ) ); printf( "\t< 城市平均 GDP 为 : %.2f ( 亿元 )>\n", ( TotalGDP / ( L -> Len + 1 ) ) ); }int FindCityByName( CityList *L, char *s ) { int i; for( i = 0; i < L->Len; i++ ) { if( strcmp( L->DataArray[i].Name, s ) == 0 ) { return i; } } return -1; // 没有找到对应的城市记录} }详细解读这段代码
这段代码定义了两个函数:CalcCityStatistic和FindCityByName。下面分别对这两个函数进行解读。
1. CalcCityStatistic函数
该函数的作用是统计城市列表中所有城市的面积、人口和地区生产总值的平均值,并打印输出结果。
具体实现步骤如下:
1)定义三个变量TotalArea、TotalPopulation和TotalGDP分别表示所有城市的面积、人口和地区生产总值之和,初始值均为0.0。
2)通过for循环遍历城市列表中所有城市,累加每个城市的面积、人口和地区生产总值到相应的变量中。
3)计算所有城市的平均面积、平均人口和平均地区生产总值。
4)使用printf函数打印输出统计结果。
2. FindCityByName函数
该函数的作用是在城市列表中查找指定名称的城市记录,并返回该城市记录的索引值。
具体实现步骤如下:
1)通过for循环遍历城市列表中所有城市,使用strcmp函数比较城市名称是否与指定名称相同,如果相同则返回该城市记录的索引值。
2)如果遍历完整个城市列表后仍未找到指定名称的城市,则返回-1表示没有找到。
我需要在vue2中,jeecgboot 前端通过data.js的数据完成组件<j-area-linkage>完成省市区三级联动的前端代码
首先,你需要在vue2项目中安装`j-area-linkage`组件库,可以通过以下命令进行安装:
```
npm install j-area-linkage --save
```
然后在你的Vue组件中引入该组件:
```
<template>
<div>
<j-area-linkage
:province="province"
:city="city"
:district="district"
:provinceList="provinceList"
:cityList="cityList"
:districtList="districtList"
@provinceChange="provinceChange"
@cityChange="cityChange"
@districtChange="districtChange"
></j-area-linkage>
</div>
</template>
<script>
import JAreaLinkage from 'j-area-linkage';
export default {
name: 'MyComponent',
components: {
JAreaLinkage,
},
data() {
return {
province: '',
city: '',
district: '',
provinceList: [],
cityList: [],
districtList: [],
};
},
created() {
// 在data.js中获取省市区数据
// 省份列表
this.provinceList = data.provinceList;
// 城市列表
this.cityList = data.cityList;
// 区县列表
this.districtList = data.districtList;
},
methods: {
// 省份选择回调
provinceChange(province) {
this.province = province;
// 根据省份获取城市列表
this.cityList = data.getCityListByProvince(province);
// 清空城市和区县
this.city = '';
this.district = '';
},
// 城市选择回调
cityChange(city) {
this.city = city;
// 根据城市获取区县列表
this.districtList = data.getDistrictListByCity(city);
// 清空区县
this.district = '';
},
// 区县选择回调
districtChange(district) {
this.district = district;
},
},
};
</script>
```
在上述代码中,我们通过引入`j-area-linkage`组件,并在`data`中获取省市区数据。然后在`template`中使用`j-area-linkage`组件,通过绑定`province`、`city`、`district`等属性和相应的回调函数来实现省市区三级联动。
注意,`data.js`文件中需要提供以下三个方法:
- `getCityListByProvince(province)`:根据省份获取城市列表
- `getDistrictListByCity(city)`:根据城市获取区县列表
- `provinceList`:省份列表
- `cityList`:城市列表
- `districtList`:区县列表
你需要根据你的实际情况来实现这些方法。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)