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;
}
分享到:
相关推荐
顺序栈实现括号配对
利用栈编写满足下列要求的括号匹配检验程序:假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,即([]())或[([][])]等为正确的格式,[(]或([())或(()])均为不正确的格式。输入一个包含上述括号的...
表达式中可能出现花括号{}、方括号[]、园括号(),从键盘输入一个表达式,检查左右括号配对情况,并输出结果。 例子:{[(…)(…)]…(…)}配对 而{[(…)(…)]…[(]…)}不配对 二、实验目的 掌握栈的存储与操作。 三、...
检查括号是不是正确匹配输入 用压栈出栈检验括号是否正确输入,打印结果
目前的工作需要写大量的、很长的、内含很多括号的表达式,需要一个括号匹配检测工具,于是就自己做了一个,也发上来分享一下。 使用说明: 1.将要检查的表达式复制到“请将要检查的表达式复制到该文件.txt”文件内...
使用C语言实现括号匹配检查,对输入的一段文字进行排查,如果前置括号或者后置括号不存在,则指出改正,对于c语言入门的同学能够巩固所学知识,获得提升。
2. 编写一个程序,对输入的一个算术表达式,检查其括号配对情况并计算表达式值 例如。。(2+2323*(2+4232))
假设在表达式中允许有三种括号:圆括号、方括号...要求设计测试数据,如果在表达式中括号使用正确,输出结果为“此表达式中括号匹配合法”,否则输出结果为“此表达式中括号匹配不合法”,#为表达式的起始和结束标志。
设计算法: 检查存储在单链表中的算术表达式 s 所包含的括号—— “(” 与 “)” 、 “[” 与 “]” 、 “{” 与 “}”是否正确匹配; 1、 创建单链表 s,通过用户逐个字符输入,完成 s 的初始化。 2、 编写程序实现...
ACM 在线测评第二题,括号配对!表示完全是自己写的,没有参考他人思想!有不足之处请指正!
假设一个算法表达式中包括圆括号、方括号两种,设计判别表达式中括号是否正确匹配的算法。括号匹配的表达式,表达式中左、右括号在类型和数目上均匹配。
C#版的检测括号是否匹配的问题,可以检测出从键盘输入的一串字符,其中有字母、数字和其它一些特殊符号,这一串字符中有小括号,中括号,通过本程序,可以判断出输入入的字符串中的小、中括号是否匹配,是缺少左小、...
表达式括号匹配配对判断实验报告(内附源代码)
输入N对括号 检查是否匹配, 如果不匹配则给出不匹配的提示
c++括号匹配问题c++括号匹配问题c++括号匹配问题c++括号匹配问题c++括号匹配问题c++括号匹配问题c++括号匹配问题c++括号匹配问题
(1)、括号匹配的算法设计 利用一个栈结构保存每个出现的左括号,当遇到右括号时,从栈中弹出左括号,检验匹配情况。在检验过程中,若遇到以下几种情况之一,就可以得出括号不匹配的结论。 (1)当遇到某一个右括号...
利用栈实现括号匹配的检验,存储括号字符的数组通过malloc实现动态分配长度,匹配函数的第一个参数为指向字符的指针(即为存储括号字符的数组的首地址)和一个整数(即为括号字符的总数,为括号个数的2倍),将左...
括号匹配
假设一个算术表达式中包含圆括号、方括号两种类型的括号,试编写一个判断表达式中括号是否匹配的程序,匹配返回Match succeed!,否则返回Match false!。 例 [1+2*(3+4*(5+6))]括号匹配 (1+2)*(1+2*[(1+2)+3)...
输入一包含(和)的字符串,检测括号是否匹配(其中括号能嵌套括号),并输出括号是否匹配的信息(匹配,缺少左括号,缺少右括号)。