蓝子娃娃 发表于 2018-3-7 14:33:04

我要看

赵同学 发表于 2018-3-22 06:45:11

i love fishc.com

ipangpang 发表于 2018-3-24 14:37:36

棒,大爱小甲鱼老师,而且是我老乡{:5_91:}

纵横秦月 发表于 2018-3-27 01:13:21

astroquokka 发表于 2018-3-28 22:17:47

看完,思考完,做完,比较中。。。

网际浪子 发表于 2018-3-31 14:57:13

我来学习一下

三三两两 发表于 2018-4-7 21:45:55

我觉得这个题目并不困难。

kykio 发表于 2018-4-16 15:48:44

围观

adan。 发表于 2018-4-17 16:20:52

超级需要的,感人

小于俄方氛围发 发表于 2018-4-22 12:00:28

学习

gzquse 发表于 2018-5-4 01:01:48

数据结构万岁

cx155 发表于 2018-5-7 16:00:03

感谢小甲鱼在数据结构的路上带我飞~

Romeo 发表于 2018-5-14 20:35:37

想知道

Geepy 发表于 2018-5-17 20:21:50

回复回复回复回复

charming321 发表于 2018-5-21 14:58:29

学习

shenggaga 发表于 2018-5-26 14:03:51

学习一下

muzi97 发表于 2018-6-14 14:52:17

多谢

muzi97 发表于 2018-6-14 15:27:12

#include <stdio.h>
#include <stdlib.h>
#include "stack.h"

#define BUFFERSIZE 256

int BracketMatch(SqStack *S,const char *string);
int BracketMatch(SqStack *S,const char *string)//括号是否匹配,是则返回TURE,否则返回FALSE
{
        const char *p=string;
        while(*p!='\0')
        {
                switch(*p)
                {
                case '(':
                case '[':
                case '{':
                        Push(S,*p);
                        break;
                case ')':
                        if(GetTop(*S)=='(') Pop(S);
                        else return FALSE;
                        break;
                case ']':
                        if(GetTop(*S)=='[') Pop(S);
                        else return FALSE;
                        break;
                case '}':
                        if(GetTop(*S)=='{') Pop(S);
                        else return FALSE;
                        break;
                default:
                        printf("请勿输入非法字符!");
                        break;
                }
                p++;
        }
        if(!StackEmpty(*S))//字符串遍历完,栈非空,不匹配
       return FALSE;
        return TRUE;
}
int main()
{
        char *string;
        SqStack stack;
        InitStack(&stack);
    string=(char*)malloc(BUFFERSIZE*sizeof(char));
    if(!string){
      printf("string分配内存失败.\n");
      exit(0);
    }
        printf("请输入一行含括号的表达式(输入\"!\"退出):");
        gets(string);
        while(1)
        {
                if(string=='!') break;
                if(BracketMatch(&stack,string)) printf("括号匹配\n");
                else printf("括号不匹配\n");
                printf("请输入一行含括号的表达式(输入\"!\"退出):");
                gets(string);
        }
        return 0;
}

就老. 发表于 2018-8-3 16:59:54

Kitty喜欢小鱼干 发表于 2018-8-5 12:55:14

这个很实用!
页: 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18
查看完整版本: 括号匹配(栈的应用)