顺序表c++数据结构实验之栈四:括号匹配
来源:互联网 发布:cern数据 编辑:程序博客网 时间:2024/06/05 00:18
数据结构实验之栈四:括号匹配
Time Limit: 1000MS Memory limit: 65536K
题目描述
给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配。
输入
输入数据有多组,处理到文件结束。
输出
如果匹配就输出“yes”,不匹配输出“no”
示例输入
sin(20+10){[}]
示例输出
yesno
#include <cstdio>#include <iostream>#include <algorithm>#include <cstring>#define sqmax 60using namespace std;typedef struct{ char*base; char *top; int sqsize;} sq;int init(sq &s);void push(sq &s,char n);char pop(sq &s);int empty(sq &s);int main(){ sq s; int l,i,f; char t[60]; //while(cin>>t) while(gets(t)!=NULL) /***注æ��æ��ç©ºæ ¼é»�认为2个串***/ { init(s); f=0; l=strlen(t); for(i=0; i<l; i++) { if(t[i]=='('||t[i]=='['||t[i]=='{') push(s,t[i]); if(t[i]==')') { if(*s.top=='(') pop(s); else f=1; } if(t[i]==']') { if(*s.top=='[') pop(s); else f=1; } if(t[i]=='}') { if(*s.top=='{') pop(s); else f=1; } } if(!empty(s)||f==1) cout<<"no\n"; else { cout<<"yes\n"; } }}int init(sq &s){ s.base=(char *)malloc(sqmax *sizeof(char)); if(!s.base) exit(0); s.top=s.base-1; s.sqsize=sqmax; return 1;}void push(sq &s,char n){ *++s.top=n;}char pop(sq &s){ return *s.top--;}int empty(sq &s){ if(s.top==s.base-1) return 1; else return 0;}
0 0
- 顺序表c++数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 算法
- 从RGB色转为灰度色算法(转)
- POJ 1113 Wall (凸包问题) .
- <sdut-ACM> 数据结构上机测试1:顺序表的应用
- 开发一款合格的APP成本费用大概是多少?
- 顺序表c++数据结构实验之栈四:括号匹配
- 关于eclipse开发Android项目AIDL文件 无法自动生成aidl.java 问题
- java移位运算符<< >>
- Ceph架构剖析
- Lang3就这1张图,必备(一)
- 剑指Offer——网易校招内推笔试题+模拟题知识点总结
- 网页元素宽与高
- 郑州轻工业oj
- HDU 3687 National Day Parade (枚举)