括号匹配(stack)

原创 2005年04月24日 20:13:00

const int MaxLength=100;
void PrintMatchedPairs(char *expr)
{
 Stack<int> s(MaxLength);
 int j, length=strlen(expr);
 for(int i=1; i<=length; i++)
 {
  if(expr[i-1]=='(')
   s.Add(i);
  else if(expr[i-1]==')')
  {
   s.Delete(j);
   cout<<j<<' '<<i<<endl;
  }
 }
 // 堆栈中所剩下的(都是未匹配的
 while(!s.IsEmpty())
 {
  s.Delete(j);
  cout<<"No match for left parenthesis at" <<j<<endl;
 }
}

Ref:<<数据结构,算法与应用>>P169~170

stack实现括号匹配

  • 2017年03月06日 22:40
  • 2KB
  • 下载

Stack检测括号匹配.zip

  • 2017年03月05日 21:55
  • 2KB
  • 下载

UVA673括号匹配之vector和stack使用的时候的注意点

这题其实是一个简单题,无耐自己太笨,刚开始想投机取巧,把思路搞错了,后来直接用vector暴力模拟一发, 结果无数发RE,最后发现i 一直RE,强制转化为int类型即可,后来感觉自己vector写...

括号匹配问题——stack的利用

/* * * 题目 - 扩号匹配问题 来源 poj.grids.cn 描述 在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算术式子一样)任何一个左括号都从内到...

栈(Stack),轻松解决数制转换和括号匹配问题!

http://data.biancheng.net/view/9.html 栈,线性表的一种特殊的存储结构。与学习过的线性表的不同之处在于栈只能从表的固定一端对数据进行插入和删除操作,另一端是封死的...

#include<stack> 南阳oj括号匹配

描述 现在,有一行括号序列,请你检查这行括号是否配对。 输入第一行输入一个数N(0 输出每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出...

哈理工 1170 语法检查-括号匹配【stack应用】【水题~】

语法检查-括号匹配 Time Limit: 1000 MS Memory Limit: 65536 K Total Submit: 454(125...

详解括号匹配问题(STL stack)

1. 括号匹配的四种可能性: ①左右括号配对次序不正确 ②右括号多于左括号 ③左括号多于右括号 ④左右括号匹配正确 2. 算法思想: 1.顺序扫描算数表达式(表现为一个字符串),当遇到三种类型的左括...

C实现Stack,并通过Stack来检查括号是否匹配

/** * @file GM_Stack.h * @brief * @author Don Hao * @date 2011-8-22 22:49:37 * @version * co...
  • donhao
  • donhao
  • 2011年08月23日 11:26
  • 554
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:括号匹配(stack)
举报原因:
原因补充:

(最多只允许输入30个字)