字符反转函数 c++
时间: 2025-05-23 07:51:42 浏览: 11
### C++ 字符串反转函数实现
在 C++ 中,可以通过多种方式实现字符串的反转。下面展示一种基于手动交换字符的方式以及另一种利用标准库 `std::reverse` 的简便方法。
#### 方法一:手动实现字符串反转
此方法通过遍历字符串并逐个交换首尾字符来完成反转操作:
```cpp
#include <iostream>
#include <string>
using namespace std;
// 定义字符串反转函数
string reverseString(string str) {
int n = str.length();
for (int i = 0; i < n / 2; ++i) {
swap(str[i], str[n - i - 1]); // 使用内置swap函数交换字符位置
}
return str;
}
int main() {
string inputStr;
cout << "请输入要反转的字符串: ";
getline(cin, inputStr);
string reversedStr = reverseString(inputStr);
cout << "反转后的字符串为: " << reversedStr << endl;
return 0;
}
```
上述代码展示了如何创建一个名为 `reverseString` 的函数[^2],它接收一个字符串作为参数,并返回其反转形式。注意这里使用了 `swap()` 函数来进行字符的位置互换。
#### 方法二:使用标准库函数 `std::reverse`
C++ 提供了强大的标准模板库(STL),其中就包含了可以直接使用的字符串反转工具——`std::reverse` 函数。这种方法更加简洁高效:
```cpp
#include <iostream>
#include <string>
#include <algorithm> // 包含reverse函数头文件
using namespace std;
void reverseUsingStdFunction(string& str) {
reverse(str.begin(), str.end()); // 调用STL中的reverse函数
}
int main() {
string inputStr;
cout << "请输入要反转的字符串: ";
getline(cin, inputStr);
reverseUsingStdFunction(inputStr);
cout << "反转后的字符串为: " << inputStr << endl;
return 0;
}
```
在此示例中,程序引入 `<algorithm>` 头文件以便能够调用 `std::reverse` 函数[^3]。该函数接受两个迭代器作为参数,分别指向待反转序列的第一个元素和最后一个之后的一个位置。
这两种方法都可以有效地解决字符串反转问题,具体选择取决于实际需求和个人偏好。
阅读全文
相关推荐

















