`
deejay
  • 浏览: 142616 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

检查公式括号配对

 
阅读更多
a)满足在字符串的任何位置处,其左边的左括号数不小于右括号数;b) 字符串中所有的左右括号数相等。

  因此,可以采用栈的思想来匹配:遇到左括号入栈,遇到右括号出栈,直到栈为空,或字符串结束停止;字符串扫描结束时,栈也同时为空,则说明匹配。js如下:


function checkBracket(algorithms){    

       var bracket = [];
       var algorithms= algorithms ||'';
       for(var i=0; i<algorithms.length; i++){
        if(algorithms.charAt(i)=="("){
         bracket.push('(');
        }
        if(algorithms.charAt(i)==")"){
         if(bracket.length){
          bracket.pop();
         }else{
          alert('公式括号不配对,缺少左括号!')
          return false;
         }
        }
       }
       if(bracket.length){
        alert('公式括号不配对,缺少右括号!')
        return false;
       }

       return true;

}
0
0
分享到:
评论
4 楼 deejay 2012-07-04  
feisuzhu 写道
这个……简单的检查一下括号的数量不行么??假设输入是有效的话。

考虑这种情况:)a+b(,左括号数量和右括号数据 相等。
所以单纯判断数量不行。
3 楼 deejay 2012-07-04  
yuhui0531 写道
有一个问题,如果多了个右括号怎么办?

多一个右括号时,bracket.length>0, 返回FALSE.
if(bracket.length){  
  alert('公式括号不配对,缺少右括号!')  
  return false;  
}  
2 楼 feisuzhu 2011-12-27  
这个……简单的检查一下括号的数量不行么??假设输入是有效的话。
1 楼 yuhui0531 2011-12-27  
有一个问题,如果多了个右括号怎么办?

相关推荐

    顺序栈实现括号配对

    顺序栈实现括号配对

    括号匹配检验_括号匹配检验_括号匹配程序_

    利用栈编写满足下列要求的括号匹配检验程序:假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,即([]())或[([][])]等为正确的格式,[(]或([())或(()])均为不正确的格式。输入一个包含上述括号的...

    数据结构实验-表达式中括号配对

    表达式中可能出现花括号{}、方括号[]、园括号(),从键盘输入一个表达式,检查左右括号配对情况,并输出结果。 例子:{[(…)(…)]…(…)}配对 而{[(…)(…)]…[(]…)}不配对 二、实验目的 掌握栈的存储与操作。 三、...

    用C语言检查输入括号是否匹配

    检查括号是不是正确匹配输入 用压栈出栈检验括号是否正确输入,打印结果

    括号匹配检测工具

    目前的工作需要写大量的、很长的、内含很多括号的表达式,需要一个括号匹配检测工具,于是就自己做了一个,也发上来分享一下。 使用说明: 1.将要检查的表达式复制到“请将要检查的表达式复制到该文件.txt”文件内...

    c程序括号匹配检查.c

    使用C语言实现括号匹配检查,对输入的一段文字进行排查,如果前置括号或者后置括号不存在,则指出改正,对于c语言入门的同学能够巩固所学知识,获得提升。

    对输入的一个算术表达式,检查其括号配对情况并计算表达式值

    2. 编写一个程序,对输入的一个算术表达式,检查其括号配对情况并计算表达式值 例如。。(2+2323*(2+4232))

    表达式的括号匹配检验问题

    假设在表达式中允许有三种括号:圆括号、方括号...要求设计测试数据,如果在表达式中括号使用正确,输出结果为“此表达式中括号匹配合法”,否则输出结果为“此表达式中括号匹配不合法”,#为表达式的起始和结束标志。

    检查一个算术表达式中的括号是否正确匹配。

    设计算法: 检查存储在单链表中的算术表达式 s 所包含的括号—— “(” 与 “)” 、 “[” 与 “]” 、 “{” 与 “}”是否正确匹配; 1、 创建单链表 s,通过用户逐个字符输入,完成 s 的初始化。 2、 编写程序实现...

    ACM 括号配对问题

    ACM 在线测评第二题,括号配对!表示完全是自己写的,没有参考他人思想!有不足之处请指正!

    表达式括号匹配配对判断问题

    假设一个算法表达式中包括圆括号、方括号两种,设计判别表达式中括号是否正确匹配的算法。括号匹配的表达式,表达式中左、右括号在类型和数目上均匹配。

    C# 检测括号匹配的问题

    C#版的检测括号是否匹配的问题,可以检测出从键盘输入的一串字符,其中有字母、数字和其它一些特殊符号,这一串字符中有小括号,中括号,通过本程序,可以判断出输入入的字符串中的小、中括号是否匹配,是缺少左小、...

    表达式括号匹配配对判断实验报告(内附源代码)

    表达式括号匹配配对判断实验报告(内附源代码)

    括号匹配问题 数据结构

    输入N对括号 检查是否匹配, 如果不匹配则给出不匹配的提示

    c++括号匹配问题 c++括号匹配问题

    c++括号匹配问题c++括号匹配问题c++括号匹配问题c++括号匹配问题c++括号匹配问题c++括号匹配问题c++括号匹配问题c++括号匹配问题

    括号匹配数据结构课程设计

    (1)、括号匹配的算法设计 利用一个栈结构保存每个出现的左括号,当遇到右括号时,从栈中弹出左括号,检验匹配情况。在检验过程中,若遇到以下几种情况之一,就可以得出括号不匹配的结论。 (1)当遇到某一个右括号...

    利用栈实现括号匹配的检验

    利用栈实现括号匹配的检验,存储括号字符的数组通过malloc实现动态分配长度,匹配函数的第一个参数为指向字符的指针(即为存储括号字符的数组的首地址)和一个整数(即为括号字符的总数,为括号个数的2倍),将左...

    括号匹配C程序

    括号匹配

    括号匹配程序

    假设一个算术表达式中包含圆括号、方括号两种类型的括号,试编写一个判断表达式中括号是否匹配的程序,匹配返回Match succeed!,否则返回Match false!。 例 [1+2*(3+4*(5+6))]括号匹配 (1+2)*(1+2*[(1+2)+3)...

    数据结构c语言版栈的应用单括号匹配(实验报告)

    输入一包含(和)的字符串,检测括号是否匹配(其中括号能嵌套括号),并输出括号是否匹配的信息(匹配,缺少左括号,缺少右括号)。

Global site tag (gtag.js) - Google Analytics