数据结构 括号匹配).pptVIP

  • 11
  • 0
  • 约1.8千字
  • 约 15页
  • 2020-04-09 发布于湖北
  • 举报
括号匹配问题;制作过程;①括号匹配问题的设计内容;②算法思想描述;(1)算法 顺序扫描算数表达式(表现为一个字符串),当遇到三种类型的左括号时候让该括号进栈; 当扫描到某一种类型的右括号时,比较当前栈顶元素是否与之匹配,若匹配,退栈继续判断; 若当前栈顶元素与当前扫描的括号不匹配,则左右括号配对次序不正确; 若字符串当前为某种类型的右括号而堆栈已经空,则右括号多于左括号; 字符串循环扫描结束时,若堆栈非空(即堆栈尚有某种类型的左括号),则说明左括号多于右括号; 否则,括号配对正确。;(2)程序的实现;出栈 Status Pop(SqStack *S,SElemType *e) { /* 若栈不空,则删除S的栈顶元素,用e返回其值, 并返回OK;否则返回ERROR */ if((*S).top==(*S).base) return ERROR; *e=*--(*S).top; return OK; } ;运行语句 void StackTraverse(SqStack S,void(*visit)(SElemType)) {while(S.topS.base) visit(*S.base++); printf(\n);} void check() {SqStack s; SElemType ch[80],*p,e; InitStack(s); /* 初始化栈成功 */ prin

文档评论(0)

1亿VIP精品文档

相关文档