栈特点:先进后出
头文件:#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;
}
/*
爆栈问题:
栈需要用空间储存,如果深度太大,或存进栈的数组太大,总数会超过系统为栈分布的空间,产生爆栈,即栈溢出。
*/