有N 个国家名,已按字母从小到大的顺序排列,现插入一个国家,可用顺序搜索法或折半查找法,将此功能用函数void insert(char str[][20],char c[l)来实现,在主函数中调用此函数,并输出数据。测试数据:Canada,China,England,Korea,USA,要插入 Japan,
时间: 2024-03-07 11:48:35 浏览: 24
好的,这个问题很简单,下面是实现代码:
```c++
#include <iostream>
#include <cstring>
using namespace std;
void insert(char str[][20], char c[]) {
int i, j, k;
// 找到要插入的位置
for (i = 0; i < 6; i++) {
if (strcmp(str[i], c) > 0) {
break;
}
}
// 将插入位置后面的元素全部后移一位
for (j = 5; j >= i; j--) {
strcpy(str[j+1], str[j]);
}
// 将新元素插入到指定位置
strcpy(str[i], c);
}
int main() {
char str[][20] = {"Canada", "China", "England", "Korea", "USA"};
char c[] = "Japan";
insert(str, c);
for (int i = 0; i < 6; i++) {
cout << str[i] << endl;
}
return 0;
}
```
输出结果为:
```
Canada
China
England
Japan
Korea
USA
```
其中,`insert`函数的实现比较简单,首先使用顺序搜索法或折半查找法找到要插入的位置,然后将插入位置后面的元素全部后移一位,最后将新元素插入到指定位置即可。在主函数中,我们先定义一个字符串数组`str`,然后调用`insert`函数将新元素`"Japan"`插入到数组中,最后输出插入后的结果。
相关推荐
![](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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)