括号匹配

数据结构实验之栈与队列四:括号匹配
Time Limit: 1000 ms Memory Limit: 65536 KiB
Submit Statistic Discuss
Problem Description
给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配。

Input
输入数据有多组,处理到文件结束。

Output
如果匹配就输出“yes”,不匹配输出“no”

Sample Input
sin(20+10)
{[}]
Sample Output
yes
no

#include 
using namespace std;
typedef char elemtype;
#define max 1000
typedef struct st
{
    elemtype*base,*top;
    int sqstacklize;
}sqstack;
void creat(sqstack*s)
{
    s->base=(elemtype*)malloc(max*sizeof(elemtype));
    s->top=s->base;
    s->sqstacklize=max;
}
void push(sqstack*s,char e)
{
    s->top++;
    *s->top=e;
}

int empty(sqstack*s)
{
    if(s->top == s->base)
        return 1;
    else
    return 0;
}
void del(sqstack*s)
{
    while(!empty(s))
        s->top--;
}
int main ()
{
    sqstack s;
    creat(&s);
    char l[52];
while(gets(l)!=NULL)  //
    {
    int len=strlen(l);
    int i;
    for(i=0 ;i

你可能感兴趣的:(数据结构(树之前的部分))