利用STL stack实现字符串的翻转。
时间: 2024-09-30 21:07:26 浏览: 40
利用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`,直到栈为空。
阅读全文