数据结构实验之栈四:括号匹配
来源:互联网 发布:手机怎么进淘宝社区 编辑:程序博客网 时间:2024/06/05 10:02
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配。
输入
输入数据有多组,处理到文件结束。
输出
如果匹配就输出“yes”,不匹配输出“no”
示例输入
sin(20+10){[}]
示例输出
yesno
提示
来源
ma6174
示例程序
#include<iostream>#include<stdio.h>#include<stack>using namespace std;int main(){ char a[51]; stack<char>f; while (gets(a))//用cin遇上空格会分成两个字符串 { for(int i=0; a[i]!='\0'; ++i) { if(a[i]=='('||a[i]=='['||a[i]=='{') { f.push(a[i]); } else if(a[i]==')'||a[i]==']'||a[i]=='}') { if (f.empty()) { f.push(a[i]); } else { if((a[i]==')'&&f.top()=='(')||(a[i]==']'&&f.top()=='[')||(a[i]=='}'&&f.top()=='{')) { f.pop(); } else if((a[i]==')'&&f.top()!='(')||(a[i]==']'&&f.top()!='[')||(a[i]=='}'&&f.top()!='{')) f.push(a[i]); } } } if(f.empty()) cout<<"yes"<<endl; if(!f.empty()) { cout<<"no"<<endl; while(!f.empty()) f.pop();//要将栈清空 } }}
0 0
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 蓝牙之四-Handler
- Java开源框架集
- Dojo初探之1:AMD规范,编写符合AMD规范(异步模块加载机制)的模块化JS(其中dojo采用1.11.2版本)
- sublime2快捷键
- Spring MVC 入门示例讲解
- 数据结构实验之栈四:括号匹配
- App设计 iOS设计尺寸参考
- Java finally语句到底是在return之前还是之后执行?
- CF 148D
- 最详细易懂的CRC-16校验原理(附源程序)
- 韩信点兵 南阳理工ACM 题目34
- LightOJ 1004 Monkey Banana Problem 动态规划
- SDUT3362数据结构实验之图论六:村村通公路
- Eclipse 安装 Eclipse 进行Android Studio相关配置和开发