- 使用的是数组,c++中的STL是非常好用的,关于栈,生活中也有很多这样的例子,最典型的是摞盘子。
- 使用回文字符串探究栈的作用,“aha”和“ahaha”均是回 文,但“ahah”不是回文。通过栈这个数据结构我们将很容易判断一个字符串是否为回文。通过读取字符串借助栈来解决这个问题。
- 代码:
#include<iostream>
#include<cstring>
#include<stdio.h>
using namespace std;
int main(){
char a[101],s[101];
int len,mid;
gets(a);
len=strlen(a);
mid=len/2-1;
int top=0;
int next=0;
for(int i=0;i<=mid;i++){
s[++top]=a[i];
}
cout<<top<<endl;
if(len%2==0){
next=mid+1;
}
else{
next=mid+2;
}
for(int k=next;k<len;k++){
if(s[top]!=a[k])
break;
cout<<s[top]<<" "<<a[k]<<endl;
top--;
}
if(!top){
cout<<"YES"<<endl;
}
else{
cout<<"NO"<<endl;
}
return 0;
}