括号匹配问题 电玩女神 2022-05-26 03:23 443阅读 0赞 #include<string.h> #include <malloc.h> #include <stdio.h> #define MaxSize 100 /* 堆栈最大容量 */ #define OK 1 #define ERROR 0 typedef int Status; typedef char ElemType; typedef int Position; typedef struct { ElemType Data[MaxSize]; /* 存储元素的数组 */ Position top; /* 栈顶指针, 指示栈顶元素之后的位置 */ } SeqStack; Status StackEmpty(SeqStack s); Status Push(SeqStack &L, ElemType e); Status Pop(SeqStack &L, ElemType &e); Status GetPop(SeqStack &L,ElemType &e); int match(SeqStack &L); int main() { SeqStack L; L.top = 0; if(match(L)) printf("匹配成功!\n"); else printf("匹配失败!\n"); return 0; } int match(SeqStack &L) { char str[105]; printf("请输入括号:\n"); // getchar(); scanf("%s",str); int len = strlen(str); int i; //printf("%s\n",str); char e = '0'; for(i=0; i<len; i++) { if(str[i]=='['||str[i]=='(') { Push(L,str[i]); } // GetPop(L,e); // printf("%c\n",e); else if(str[i] == ')') { if(GetPop(L,e)) { //printf("%c\n",e); if(e == '(') { //printf("pipei(\n"); Pop(L,e); } else { //printf("2\n"); Push(L,str[i]); } } else Push(L,str[i]); } else if(str[i] == ']') { if(GetPop(L,e)) { if(e == '[') { //printf("pipei[\n"); Pop(L,e); } else { Push(L,str[i]); } } else Push(L,str[i]); } } if(StackEmpty(L)) return 1; else return 0; /*while(!StackEmpty(L)) { Pop(L, e); printf("%c\n", e); }*/ return 0; } Status StackEmpty(SeqStack s) //判断栈s是否为空 { return s.top == 0; } Status GetPop(SeqStack &L,ElemType &e) { if(StackEmpty(L)) return ERROR; else { e = L.Data[L.top-1]; //printf("shi%cshi",e); } return OK; } Status Push(SeqStack &L, ElemType e) { L.Data[L.top] = e; L.top++; return OK; } Status Pop(SeqStack &L, ElemType &e) { if(StackEmpty(L)) return ERROR; e = L.Data[--L.top]; return OK; }
相关 有效的括号--括号匹配问题--Java 有效的括号–括号匹配问题–Java 代码如下:—解析在代码里 import java.util.ArrayList; / Crea 今天药忘吃喽~/ 2023年05月28日 06:59/ 0 赞/ 47 阅读
相关 括号匹配问题 include <stdio.h> include <stdlib.h> include <string.h> char st1[105]; 布满荆棘的人生/ 2022年12月12日 13:43/ 0 赞/ 177 阅读
相关 括号匹配问题 include<string.h> include <malloc.h> include <stdio.h> define MaxSize 10 电玩女神/ 2022年05月26日 03:23/ 0 赞/ 444 阅读
相关 括号匹配 栈的应用,括号匹配。 经典做法是,遇左括号压入,遇右括号判断,和栈顶配对就继续,不配对或者栈空就错了。最后判断是否为空。 代码有些麻烦。 我是遇左括号压对应的右括号,最后 你的名字/ 2022年05月06日 06:28/ 0 赞/ 277 阅读
相关 括号匹配 题目描述 假设一个算术表达式中可以包含三种括号:圆括号“(”和“)”,方括号“\[”和“\]”和花括号“\{”和“\}”,且这三种括号可按任意的次序嵌套使用(如:…\ ╰半橙微兮°/ 2022年03月30日 02:28/ 0 赞/ 304 阅读
相关 括号匹配 PTA 02:括号匹配 一、题目 给定一串字符,不超过100个字符,可能包括括号、数字、字母、标点符号、空格,编程检查这一串字符中的( ) ,\[ \],\{ \} 冷不防/ 2022年02月27日 15:54/ 0 赞/ 364 阅读
相关 括号匹配问题 题意: 现在,有一行括号序列,请你检查这行括号是否配对。 输入 第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据 港控/mmm°/ 2022年01月26日 11:29/ 0 赞/ 296 阅读
相关 括号匹配 <table> <tbody> <tr> <td colspan="3"> <h2>括号匹配</h2> </td> </tr> <tr> 约定不等于承诺〃/ 2022年01月07日 04:37/ 0 赞/ 355 阅读
相关 括号匹配 括号配对问题 时间限制: 3000 ms | 内存限制: 65535 KB 难度: 3 描述 现在,有一行括号序列,请你检查这行括号是否配对。 输入 第一行 怼烎@/ 2021年09月22日 07:20/ 0 赞/ 430 阅读
还没有评论,来说两句吧...