第三章:顺序栈及其应用之二---括号匹配
来源:互联网 发布:wap淘宝流量真实吗 编辑:程序博客网 时间:2024/05/21 19:27
#include <stdio.h>#include <string.h>#include <iostream>using namespace std;#define MAXSIZE 100int flag=1;typedef struct LNode{ char *top; char *base; int lenth;}LNode,*LinkList;LinkList Oper;void Creat(LinkList &L){ L=new LNode; L->top=new char[MAXSIZE]; L->base=L->top; L->lenth=MAXSIZE; printf("链表初始化完毕!\n");}int Push(LinkList &L,char c){ //入栈; if(L->top - L->base == MAXSIZE) {printf("栈已满!\n");return 0;} *L->top=c; L->top++;}char Get(LinkList L){ return *(L->top-1);}int Pop(LinkList &L,char &c){ //出栈 if(L->top == L->base) {printf("栈已空!\n");return 0;} L->top--; c=*L->top; return 1;}int StackEmpty(LinkList L){ if(L->top-L->base==1) return 1; else return 0;}void Match(){ flag=1; printf("这是一个判断括号是否匹配的程序!\n请输入一串括号:(以#号结束)\n"); char c,b;cin>>c;Push(Oper,'#'); while(c!='#' || Get(Oper)!='#' && flag) { if(c=='(' || c=='[') {Push(Oper,c);cin>>c;} else if(c==')') { if('('==Get(Oper)) {Pop(Oper,b);cin>>c;} else{flag=0; break;} } else if(c==']') { if('['==Get(Oper)){Pop(Oper,b);cin>>c;} else {flag=0;break;} } } if(flag && StackEmpty(Oper)) printf("匹配成功!\n"); else printf("不成功!\n");}int main(){ Creat(Oper); Match(); return 0;}
0 0
- 第三章:顺序栈及其应用之二---括号匹配
- 第三章:顺序栈及其应用之三---数制转换
- 顺序栈的应用-括号匹配
- 栈的应用之二----------括号匹配的检验
- 栈应用之括号匹配
- 栈应用之括号匹配
- 栈之应用---括号匹配
- 栈应用之括号匹配
- 第三章:顺序栈及其应用之一---表达式求值
- 栈的应用之括号匹配
- 数据结构栈的应用之括号匹配
- 栈的应用之括号匹配
- 数据结构之 栈的应用 括号匹配
- c栈的应用之括号匹配
- 栈的应用之括号匹配code_legend
- 栈的应用之括号匹配检验
- 栈的应用之括号匹配
- 栈和队列应用之括号匹配
- 第三题 猴子吃桃
- C++开发高级篇(转)
- 第五题 字符串相似度
- 第六题 协同推荐SlopeOne 算法
- 第三章:顺序栈及其应用之一---表达式求值
- 第三章:顺序栈及其应用之二---括号匹配
- Kafka中的Message Delivary机制
- 第三章:顺序栈及其应用之三---数制转换
- 第三章:栈与队列算法设计题(2)
- 第三章:栈与队列算法设计题(4)
- 第三章:队列及其应用之一---输出杨辉三角
- 第三章:栈与队列算法设计题(6)
- 第三章:栈与队列算法设计题(10)
- 转载---KMP算法(Matrix67原创)