鱼C论坛

 找回密码
 立即注册
楼主: 小甲鱼

[技术交流] 括号匹配(栈的应用)

  [复制链接]
发表于 2018-3-7 14:33:04 | 显示全部楼层
我要看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-22 06:45:11 From FishC Mobile | 显示全部楼层
i love fishc.com
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-24 14:37:36 | 显示全部楼层
棒,大爱小甲鱼老师,而且是我老乡
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-27 01:13:21 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-3-28 22:17:47 | 显示全部楼层
看完,思考完,做完,比较中。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-31 14:57:13 | 显示全部楼层
我来学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-7 21:45:55 | 显示全部楼层
我觉得这个题目并不困难。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-16 15:48:44 | 显示全部楼层
围观
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-4-17 16:20:52 | 显示全部楼层
超级需要的,感人
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-22 12:00:28 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-4 01:01:48 | 显示全部楼层
数据结构万岁
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-7 16:00:03 | 显示全部楼层
感谢小甲鱼在数据结构的路上带我飞~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-14 20:35:37 | 显示全部楼层
想知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-17 20:21:50 | 显示全部楼层
回复回复回复回复
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-21 14:58:29 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-26 14:03:51 | 显示全部楼层
学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-14 14:52:17 | 显示全部楼层
多谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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[0]=='!') break;
                if(BracketMatch(&stack,string)) printf("括号匹配\n");
                else printf("括号不匹配\n");
                printf("请输入一行含括号的表达式(输入\"!\"退出):");
                gets(string);
        }
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-3 16:59:54 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-8-5 12:55:14 | 显示全部楼层
这个很实用!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-21 20:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表