字符串数组从大到小排序c++
时间: 2024-10-02 07:02:33 浏览: 33
C++ 字符串去重排序实例代码
5星 · 资源好评率100%
在 C++ 中,如果你想对字符串数组按照字典序(即从大到小)进行排序,可以使用 `std::sort` 函数结合自定义比较函数。以下是基本步骤:
1. 首先,包含必要的头文件:
```cpp
#include <algorithm>
#include <string>
```
2. 定义一个比较函数,比如 `compareStringsDesc`,它接受两个字符串并返回负数、零或正数表示第一个字符串应该排在第二个之后、相等或在前面:
```cpp
bool compareStringsDesc(const std::string& a, const std::string& b) {
return a > b;
}
```
或者如果你想要忽略大小写排序,可以这样做:
```cpp
bool compareStringsDescCaseInsensitive(const std::string& a, const std::string& b) {
return tolower(a) > tolower(b);
}
```
3. 使用 `std::sort` 函数,并将这个比较函数作为第三个参数传递,这样数组就会按降序排列:
```cpp
void sortStringArrayDesc(std::string arr[], int n) {
std::sort(arr, arr + n, compareStringsDesc);
}
```
4. 调用这个函数传入你的字符串数组和数组长度即可。
注意:`sort`函数会直接修改原数组,如果不想改变原数组,可以在排序前复制一份再操作。
阅读全文