栈特点:先进后出
头文件:#include<stack>
翻转字符串
例如输入“olleh !dlorw",输出”hello world!".
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
char ch;
scanf("%d",&n);
getchar();
while(n--)
{
stack<char>s;
while(true)
{
ch=getchar(); //一次读入一个字符
if(ch==' '||ch=='\n'||ch==EOF)
{
while(!s.empty())
{
printf("%c",s.top());//输出栈顶
s.pop(); //清除栈顶
}
if(ch=='\n'||ch==EOF)
{
break;
}
printf(" ");
}
else
{
s.push(ch); //入栈
}
}
printf("\n");
}
return 0;
}
/*
爆栈问题:
栈需要用空间储存,如果深度太大,或存进栈的数组太大,总数会超过系统为栈分布的空间,产生爆栈,即栈溢出。
*/
本文介绍使用C++标准库中的栈数据结构实现字符串翻转的方法。通过读取字符并压入栈中,再依次弹出,达到逆序输出的效果。文章详细解释了栈的特点、头文件引用及代码实现细节。
1242

被折叠的 条评论
为什么被折叠?



