- 使用的是数组,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; }