数据结构实验之栈与队列四:括号匹配
2017-10-16 21:26
465 查看
数据结构实验之栈与队列四:括号匹配
Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic
Problem Description
给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配。
Input
输入数据有多组,处理到文件结束。
Output
如果匹配就输出“yes”,不匹配输出“no”
Example Input
sin(20+10) {[}]
Example Output
yes no
Hint
Author
#include <iostream>#include<stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
#define maxsize 10000
#define numsize 10000
typedef char element;
typedef int status;
typedef struct
{
element *top;
element *base;
int stacksize;
}sqstack;
status initstack(sqstack &s)
{
s.base=(element *)malloc(maxsize * sizeof(element));
if(!s.base)return -1;
s.top=s.base;
s.stacksize=maxsize;
return 0;
}
void clearstack(sqstack &s)
{
s.top=s.base;
}
void push(sqstack &s,element e)
{
if(s.top-s.base>=s.stacksize)
{
s.base=(element *)realloc(s.base,maxsize+numsize*sizeof(element));
s.top=s.base+maxsize;
s.stacksize+=numsize;
}
*(s.top)=e;
s.top++;
}
void pop(sqstack &s)
{
s.top--;
}
element get(sqstack &s)
{
element e;
e=*(s.top-1);
s.top--;
return e;
}
status emptystack(sqstack &s)
{
if(s.base==s.top)
return 0;
else
return 1;
}
void putstack(sqstack &s)
{
while(s.top>s.base)
{
printf("%d",*(s.top-1));
s.top--;
}
}
int main()
{
sqstack s;
char a[56];
while(gets(a))
{
initstack(s);
int flag=1;
int c=strlen(a);
for(int i=0;i<c;i++)
{
if(a[i]=='('||a[i]=='['||a[i]=='{')
{
push(s,a[i]);
}
if(a[i]==')')
{
if(*(s.top-1)=='(')
{
flag=1;
s.top--;
}
else
{
flag=0;
break;
}
}
if(a[i]==']')
{
if(*(s.top-1)=='[')
{
flag=1;
s.top--;
}
else
{
flag=0;
break;
}
}
if(a[i]=='}')
{
if(*(s.top-1)=='{')
{
flag=1;
s.top--;
}
else
{
flag=0;
break;
}
}
}
if(emptystack(s))
flag=0;
if(flag==0)
printf("no\n");
else
printf("yes\n");
}
return 0;
}
相关文章推荐
- 数据结构实验之栈与队列四:括号匹配
- 数据结构实验之栈与队列四:括号匹配
- 数据结构实验之栈与队列四:括号匹配 sdut-oj
- 数据结构实验之栈与队列四:括号匹配
- 数据结构实验之栈与队列四:括号匹配
- 数据结构实验之栈与队列四:括号匹配
- 数据结构实验之栈与队列四:括号匹配oj
- 数据结构实验之栈四:括号匹配 分类: 栈和队列 2015-06-18 17:06 13人阅读 评论(0) 收藏
- 4000 数据结构实验之栈与队列四:括号匹配
- 数据结构实验之栈与队列四:括号匹配
- 数据结构实验之栈与队列四:括号匹配
- 数据结构实验之栈与队列四:括号匹配
- 数据结构实验之栈与队列四:括号匹配
- 【学习点滴-数据结构-栈&队列】 栈的应用之二:括号匹配的检测
- 括号匹配 分类: 栈和队列 2015-06-09 10:28 15人阅读 评论(0) 收藏
- 数据结构实验之栈四:括号匹配
- [栈和队列]括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配