输入三个字符串,按照由小到大的顺序输出,用指针
时间: 2024-12-20 09:31:10 浏览: 3
在C++中,你可以通过使用指针和比较操作符来实现这个功能。首先,假设你有三个指向字符串的指针,可以这样做:
```cpp
#include <iostream>
#include <string>
void sortStrings(std::string* str1, std::string* str2, std::string* str3) {
// 指向当前最小值的指针
std::string* minStr = (str1->compare(*str2) < 0 && *str1.compare(*str3) < 0) ? str1 : (*str2 < *str3) ? str2 : str3;
// 如果当前最小不是最后一个,交换并更新最小值指针
if (minStr != str3) {
std::string temp = *minStr;
*minStr = *str3;
*str3 = temp;
sortStrings(minStr, str2, str3);
} else {
// 最小值已经是最后一个,直接返回
std::cout << "Sorted strings: " << *str1 << ", " << *str2 << ", " << *str3 << std::endl;
}
}
int main() {
std::string s1 = "c";
std::string s2 = "a";
std::string s3 = "b";
std::string* p1 = &s1;
std::string* p2 = &s2;
std::string* p3 = &s3;
sortStrings(p1, p2, p3);
return 0;
}
```
在这个例子中,`sortStrings`函数递归地比较三个指针指向的字符串,并将它们按字母顺序排序。当所有字符串都排列好后,就按顺序打印出来。
阅读全文