2 定义一个包含 5 个 std::string 类型字符串的数组,对这个字符串数组按照字典序进行升序排序,并输出排序后的数组。
时间: 2025-06-26 09:01:16 浏览: 11
要在 C++ 中定义一个包含 5 个 `std::string` 类型字符串的数组并对该数组按字典序进行升序排序,可以使用 STL 提供的 `<algorithm>` 库中的 `sort()` 函数。
以下是完整的步骤:
### 实现过程
1. **引入头文件**
需要引入必要的头文件:`<iostream>`, `<string>`, 和 `<algorithm>`。
2. **定义数组**
创建一个长度为 5 的 `std::string` 数组并初始化它。
3. **排序操作**
使用 `std::sort()` 对数组进行升序排序,默认情况下 `sort()` 按照字典顺序排列字符串。
4. **输出结果**
排序完成后逐一遍历数组并将内容打印出来。
下面是完整代码示例:
```cpp
#include <iostream>
#include <string>
#include <algorithm>
int main() {
// 定义一个包含 5 个字符串的数组
std::string arr[5] = {"banana", "apple", "orange", "grape", "mango"};
// 执行升序排序
std::sort(arr, arr + 5); // 默认按照字典序升序
// 输出排序后的数组
for (int i = 0; i < 5; ++i) {
std::cout << arr[i] << std::endl;
}
return 0;
}
```
运行以上程序后会得到如下输出(基于默认字典序):
```
apple
banana
grape
mango
orange
```
---
如果你更喜欢动态分配存储空间或者希望利用容器如 `vector<std::string>` 来管理数据,则可以用下面的方式实现同样的功能:
```cpp
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
int main() {
// 定义 vector 并添加 5 个 string 元素
std::vector<std::string> vec = {"banana", "apple", "orange", "grape", "mango"};
// 升序排序
std::sort(vec.begin(), vec.end());
// 输出结果
for(auto &str : vec){
std::cout << str << std::endl;
}
return 0;
}
```
这种方式更加现代化,并且方便调整元素的数量而无需手动更改索引范围等细节信息。
---
阅读全文
相关推荐


















