c++ stl字符串翻转
时间: 2023-07-24 14:08:04 浏览: 129
你可以使用C++的STL库中的`reverse`函数来翻转字符串。下面是一个示例代码:
```cpp
#include <iostream>
#include <string>
#include <algorithm>
int main() {
std::string str = "Hello, World!";
std::reverse(str.begin(), str.end());
std::cout << str << std::endl;
return 0;
}
```
运行以上代码,输出将会是`!dlroW ,olleH`,即翻转后的字符串。使用`std::reverse`函数可以方便地对字符串进行翻转操作。
相关问题
C++STL去实现字符串翻转
可以使用STL中的reverse函数实现字符串翻转,具体代码如下:
```cpp
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
string str = "Hello, world!";
reverse(str.begin(), str.end());
cout << str << endl;
return 0;
}
```
输出结果为:"!dlrow ,olleH"。
利用STL stack实现字符串的翻转。
利用C++标准模板库(STL)中的stack数据结构可以实现字符串的翻转。Stack是一种后进先出(LIFO,Last In First Out)的数据结构,非常适合用于临时存储元素以便于反转操作。以下是简单的步骤:
1. 首先,创建一个空的stack。
2. 将输入字符串中的每个字符依次压入stack中。
3. 然后,从stack中弹出所有元素并逐个添加到一个新的字符串中,形成翻转后的字符串。
下面是一个C++示例:
```cpp
#include <iostream>
#include <stack>
#include <string>
std::string reverseString(const std::string& str) {
std::stack<char> charStack;
for (char c : str) {
charStack.push(c);
}
std::string reversedStr;
while (!charStack.empty()) {
reversedStr += charStack.top();
charStack.pop();
}
return reversedStr;
}
int main() {
std::string input = "Hello, World!";
std::string reversed = reverseString(input);
std::cout << "Reversed String: " << reversed << std::endl;
return 0;
}
```
在这个例子中,`reverseString`函数接收一个字符串,将其字符逐个压入`charStack`,然后从栈顶取出字符并追加到结果字符串`reversedStr`,直到栈为空。
阅读全文