本文实例讲述了javascript数据结构中栈的应用之符号平衡问题。分享给大家供大家参考,具体如下:
由于栈先进后出的结构,我们可以将其作为有用的工具,下面就介绍一下栈的应用。
首先是符号的平衡问题。有一串字符串,我们需要判断其中固定的字符是否成对出现,比如& lt;比;{}[]()等。当然实现的方法有很多,但是采用栈的实现会相对更加简单。
实现上述算法的JavaScript代码如下
& lt; !DOCTYPE html> & lt; html> & lt; head> & lt;元charset=皍tf - 8”比; & lt; title> & lt;/title> & lt;/head> & lt; body> & lt;脚本type=" text/javascript祝辞 函数isbalance (str) { var str=str.toString (), len=str.length, myArray=new Array (); (var i=0; i< len;我+ +){ 如果(str[我]==' [' | | str[我]==' {' | | str[我]==' ('){ [我]myArray.push (str); } 如果(str[我]==]“| | str[我]=='}' | | str[我]==)){ 如果(myArray.length==0) { 文档。写(“字符串不平衡”); 返回错误; } var popValue=https://www.yisu.com/zixun/myArray.pop (); 开关(str[我]){ 例“]”:{ 如果(“[”!=popValue) { 文档。写(']不平衡”); } 打破; } 例“}”:{ 如果‘{’!=popValue) { 文档。写('}不平衡”); } 打破; } 例“)”:{ 如果(“(”!=popValue) { document . write()不平衡”); } 打破; } 默认值: 打破; } } } } isbalance({[]});//真实的 isbalance({[[]]});//真实的 isbalance((()[]));//真实的 isbalance('{[]] ");//假的 & lt;/script> & lt;/body> & lt;/html> >之前 <强>该算法的思想强>是:。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数据结构与算法技巧总结》,《JavaScript数学运算用法总结》,《JavaScript排序算法总结》,《JavaScript遍历算法与技巧总结》,《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》
希望本文所述对大家JavaScript程序设计有所帮助。
javascript数据结构中栈的应用之符号平衡问题