栈实现括号匹配
来源:互联网 发布:极品飞车10 知乎 编辑:程序博客网 时间:2024/06/05 15:32
//seqstack.h
#include<string.h>#include<malloc.h>#include<limits.h>#include<stdio.h>#include<io.h>#include<math.h>#include<process.h>#define TRUE 1#define FALSE 0#define OK 1#define ERROR -1#define INFEASIBLE -1#define MAXSIZE 100typedef char DataType;typedef struct{ DataType data[MAXSIZE]; int top;}SeqStack;void SStackSetNull(SeqStack *s){ s->top=-1;}int SStackIsEmpty(SeqStack *s){ return (s->top<0?TRUE:FALSE);}int SStackPush(SeqStack *s,DataType x){ if(s->top==MAXSIZE-1) { printf("溢出\n"); return FALSE; } else { s->top=s->top+1; s->data[s->top]=x; return TRUE; }}int SStackPop(SeqStack *s,DataType *x){ if(s->top==-1) { printf("溢出\n"); return FALSE; } else { *x=s->data[s->top]; s->top--; return TRUE; }}DataType SStackGetTop(SeqStack *s){ if(s->top==-1) { printf("溢出\n"); return FALSE; } else return (s->data[s->top]);}void SStackPrint(SeqStack *s){ int p; if(SStackIsEmpty(s)==TRUE) { printf("栈空\n"); } else { printf("栈的数据元素如下:\n"); p=s->top; while(p>=0) { printf("%d\n",s->data[p]); p--; } printf("\n\n"); }}int SStackIsFull(SeqStack *s){ return (s->top==MAXSIZE-1?TRUE:FALSE);}
//main.cpp
#include"seqstack.h"int IsCorrect(char *str){ SeqStack st; char x; int i,flag=TRUE; SStackSetNull(&st); for(i=0;str[i]!='\0';i++) { switch(str[i]) { case '(': SStackPush(&st,'('); break; case '[': SStackPush(&st,'['); break; case '{': SStackPush(&st,'{'); break; case ')': if(!SStackPop(&st,&x) && x=='(') flag=FALSE; break; case ']': if(!SStackPop(&st,&x) && x=='[') flag=FALSE; break; case '}': if(!SStackPop(&st,&x) && x=='{') flag=FALSE; break; } if(!flag) break; } if(SStackIsEmpty(&st)&&flag) return TRUE; else return FALSE;}int main(){ char *str; str=(char*)malloc(100*sizeof(char)); printf("请输入带括号的表达式子:\n"); while(scanf("%s",str)&&strcmp(str,"#")) { if(IsCorrect(str)) { printf("括号匹配"); } else { printf("括号不匹配"); } } return 0;}
阅读全文
0 0
- 栈实现括号匹配
- 栈实现括号匹配
- 栈实现括号匹配
- 栈实现括号匹配
- 括号匹配---栈实现
- 栈实现括号匹配
- 栈实现括号匹配
- 括号匹配,栈实现
- 栈实现括号匹配
- 链栈实现括号匹配
- 括号匹配(栈实现)
- 用栈实现括号匹配
- 括号匹配问题--栈实现
- 栈的实现-括号匹配
- java栈实现括号匹配
- 括号匹配(链栈实现)
- 括号匹配--顺序栈实现
- 用栈实现括号匹配
- udp服务器丢包
- 一些有用的Google Hack
- 《About Face 3:交互设计精髓》【PDF】下载
- 微信小程序 获取input 只读value值
- thinkphp 连接到微信token
- 栈实现括号匹配
- Python爬虫贴吧无数据异常
- 蓝桥杯 大小写转换
- c3p0数据库连接池不能取到连接An attempt by a client to checkout a Connection has timed out
- 第一章:快速上手注意点
- h5 利用canvas手写签名并保存
- python实现二叉树的遍历
- mp4文件格式解析
- Postgres-xl集群部署文档