c加加输入shanghai,suzhou,beijing,然后按照字母表手续升序排序,头文件是iostream与string,不使用algorithm头文件
时间: 2024-10-08 13:23:41 浏览: 15
在C++中,如果你想让用户输入三个城市名(如"shanghai", "suzhou", "beijing"),然后按照字母顺序进行排序,但不使用`<algorithm>`库,你可以通过自定义比较函数和手动遍历数组实现。首先,我们需要创建一个结构体来存储城市及其对应的字符串,然后定义一个比较函数`compareCity`来进行排序。以下是示例代码:
```cpp
#include <iostream>
#include <string>
// 定义结构体 City
struct City {
std::string name;
};
// 比较城市名称的自定义函数
bool compareCity(const City& city1, const City& city2) {
return city1.name < city2.name;
}
int main() {
// 初始化一个包含三个元素的城市数组
City cities[] = {{"shanghai"}, {"suzhou"}, {"beijing"}};
int n = sizeof(cities) / sizeof(cities[0]);
// 手动排序
for (size_t i = 0; i < n - 1; ++i) {
for (size_t j = i + 1; j < n; ++j) {
if (compareCity(cities[i], cities[j])) {
// 如果当前城市名大于下一个城市名,则交换它们的位置
City temp = cities[i];
cities[i] = cities[j];
cities[j] = temp;
}
}
}
// 输出排序后的城市名
for (const auto& city : cities) {
std::cout << city.name << std::endl;
}
return 0;
}
```
在这个程序里,我们首先初始化了一个City类型的数组,然后使用嵌套循环实现了冒泡排序算法。最后,遍历并输出排序后的城市名。