输入三个字符串按字典排序c++
时间: 2024-12-10 20:30:17 浏览: 14
在C++中,如果你想将三个字符串按照字典顺序(即字母顺序)排序,你可以创建一个结构体或类来存储字符串并定义比较函数。这里是一个简单的示例:
```cpp
#include <iostream>
#include <string>
#include <algorithm> // 包含sort函数
// 定义一个结构体,包含一个字符串和一个整数用于区分排序
struct StringCompare {
std::string str;
int index; // 这里假设index是唯一的,用来标记每个字符串的位置
// 构造函数
StringCompare(std::string s, int i) : str(s), index(i) {}
};
bool compareStrings(const StringCompare &a, const StringCompare &b) {
return a.str < b.str; // 按照字典顺序比较两个字符串
}
int main() {
std::string str1, str2, str3;
// 获取用户输入或者直接赋值
std::cout << "Enter three strings: ";
std::cin >> str1 >> str2 >> str3;
// 创建字符串对象,并赋予它们位置
StringCompare arr[3] = {StringCompare(str1, 0), StringCompare(str2, 1), StringCompare(str3, 2)};
// 使用自定义比较函数对数组进行排序
std::sort(arr, arr + 3, compareStrings);
// 打印排序后的结果
for (const auto &s : arr) {
std::cout << "Sorted string: " << s.str << ", Index: " << s.index << std::endl;
}
return 0;
}
```
阅读全文