括号匹配(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

C++primer--stack处理括号表达式(顺序容器)

这是最后一个大题 9-51,通过栈来处理括号化的表达式,题目算是一道经典的例题,我看代码,特别不容易理解,当然,掌握了关键的几个点,程序调理就很清晰了,如果你在做这道题的时候不理解,这个时候可以通过单...
  • VCCTor
  • VCCTor
  • 2015年11月10日 00:31
  • 503

常见算法题:判断表达式括号是否匹配

题目:设计一个算法,判断用户输入的表达式中括号是否匹配,表达式中可能含有圆括号、中括号和大括号。思路:建立一个顺序栈,当表达式中有左括号时将其入栈,当出现右括号时,将栈顶元素出栈,检查与当前右括号是否...
  • u011421608
  • u011421608
  • 2015年06月05日 20:44
  • 4913

c++STL的stack的应用之括号匹配

有个问题是要匹配资格字符串中的左右括号,如(a*(b+c)+d)在位置1和4有左括号,在位置8和11有右括号。可以观察到如果从右向左扫描,那么每个右括号都与最近遇到的那个未匹配的左括号相匹配。现在直接...
  • u013380306
  • u013380306
  • 2017年03月04日 21:34
  • 245

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

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

C++STL库栈算法的括号匹配

很久没写了,原因是懒惰……另外大一在学校也难上网……不说了 昨天晚上看了C++的STL库,感觉C++功能非常的强大呢! 于是刚好想起了以前用C写了一个括号匹配,很复杂,具体思路是先把括号转换为...
  • giglf
  • giglf
  • 2015年03月21日 00:26
  • 823

C++:泛型编程stack(括号匹配)

泛型编程stack(括号匹配)Time Limit(Common/Java):1000MS/3000MS Memory Limit:65536KByte Total Submit:...
  • liangzhaoyang1
  • liangzhaoyang1
  • 2016年01月24日 12:45
  • 925

利用栈实现括号匹配算法!

#include #include //malloc,realloc #include //含有overflow #include //exit() #define S_SIZE...
  • Sun19910114
  • Sun19910114
  • 2014年09月12日 08:41
  • 2199

Java实现括号匹配

Java实现括号匹配利用Java的Stack实现括号匹配,包括是否成对出现以及是否正确嵌套。 例如:( ) , { } , [ ] , ( { } [ ] )为正确嵌套,) } , ( { ) }...
  • TsuiXh
  • TsuiXh
  • 2016年10月12日 09:53
  • 1877

c++ 括号匹配

主要是利用栈进行入栈出栈匹配,代码如下: #include #include using namespace std; #define STACK_SIZE 100 struct ...
  • fwb330198372
  • fwb330198372
  • 2016年04月07日 14:32
  • 1907

C语言实现顺序栈的括号匹配

//顺序栈的使用举例:括号的匹配 #include #include #define OK      1 #define ERROR   0 #define TRUE    1 ...
  • u012913936
  • u012913936
  • 2015年07月08日 21:48
  • 1506
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:括号匹配(stack)
举报原因:
原因补充:

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