本文实例讲述了javascript数据结构中栈的应用之符号平衡问题。分享给大家供大家参考,具体如下:

由于栈先进后出的结构,我们可以将其作为有用的工具,下面就介绍一下栈的应用。
首先是符号的平衡问题。有一串字符串,我们需要判断其中固定的字符是否成对出现,比如<> {} [] () 等。当然实现的方法有很多,但是采用栈的实现会相对更加简单。
实现上述算法的JavaScript代码如下
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
function isbalance(str){
var str=str.toString(),
len=str.length,
myArray=new Array();
for(var i=0;i<len;i++){
if(str[i]=='['||str[i]=='{'||str[i]=='('){
myArray.push(str[i]);
}
if(str[i]==']'||str[i]=='}'||str[i]==')'){
if(myArray.length==0){
document.write("the string 不平衡");
return false;
}
var popValue=myArray.pop();
switch(str[i]){
case ']':{
if('['!=popValue){
document.write('] 不平衡');
}
break;
}
case '}':{
if('{'!=popValue){
document.write('} 不平衡');
}
break;
}
case ')':{
if('('!=popValue){
document.write(') 不平衡');
}
break;
}
default:
break;
}
}
}
}
isbalance('{[]}');//true
isbalance('{[[]]}');//true
isbalance('(()[])');//true
isbalance('{[]]');//false
</script>
</body>
</html>
该算法的思想是:假设在读入一串字符串以后,如果遇到对称符号的左边部分,则将其压入栈中,当遇到对称符号的右边部分,则弹出栈中的一个对象,实现比对,如果是对称的,则说明当前的符号是平衡的,如果不对称,则说明当前字符串是不平衡的,当字符串读完以后,如果所有的符号都是平衡的,栈中此时应该就是为空,通过判断栈中是否为空,说明字符串是否是符号平衡的。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数据结构与算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》
希望本文所述对大家JavaScript程序设计有所帮助。
# javascript
# 数据结构
# 栈
# 应用
# 符号平衡
# JS中的算法与数据结构之栈(Stack)实例详解
# JavaScript数据结构之栈实例用法
# JS中数据结构之栈
# 利用JavaScript实现栈的数据结构示例代码
# JavaScript数据结构学习之数组、栈与队列
# JavaScript数据结构中栈的应用之表达式求值问题详解
# JavaScript实现栈结构Stack过程详解
# 不平衡
# 为空
# 则说
# 都是
# 相关内容
# 有很多
# 遍历
# 将其
# 感兴趣
# 我们可以
# 给大家
# 弹出
# 介绍一下
# 更多关于
# 所述
# 程序设计
# 则将
# 不对称
# 比对
相关文章:
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
再谈Python中的字符串与字符编码(推荐)
如何选择适合PHP云建站的开源框架?
建站主机默认首页配置指南:核心功能与访问路径优化
C++时间戳转换成日期时间的步骤和示例代码
建站主机助手选型指南:2025年热门推荐与高效部署技巧
建站之星伪静态规则如何设置?
北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?
公司门户网站制作流程,华为官网怎么做?
盐城做公司网站,江苏电子版退休证办理流程?
如何在Ubuntu系统下快速搭建WordPress个人网站?
建站主机CVM配置优化、SEO策略与性能提升指南
php8.4新语法match怎么用_php8.4match表达式替代switch【方法】
如何在云指建站中生成FTP站点?
如何在阿里云域名上完成建站全流程?
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
如何快速辨别茅台真假?关键步骤解析
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
活动邀请函制作网站有哪些,活动邀请函文案?
定制建站如何定义?其核心优势是什么?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
股票网站制作软件,网上股票怎么开户?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
高防服务器租用首荐平台,企业级优惠套餐快速部署
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
如何通过WDCP绑定主域名及创建子域名站点?
建站主机如何选?性能与价格怎样平衡?
如何通过.red域名打造高辨识度品牌网站?
Python多线程使用规范_线程安全解析【教程】
常州企业建站如何选择最佳模板?
平台云上自主建站:模板化设计与智能工具打造高效网站
专业商城网站制作公司有哪些,pi商城官网是哪个?
如何在云服务器上快速搭建个人网站?
,网页ppt怎么弄成自己的ppt?
视频网站app制作软件,有什么好的视频聊天网站或者软件?
高端建站如何打造兼具美学与转化的品牌官网?
图册素材网站设计制作软件,图册的导出方式有几种?
如何高效生成建站之星成品网站源码?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
孙琪峥织梦建站教程如何优化数据库安全?
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
如何快速登录WAP自助建站平台?
建站之星图片链接生成指南:自助建站与智能设计教程
javascript中对象的定义、使用以及对象和原型链操作小结
韩国服务器如何优化跨境访问实现高效连接?
建站之星在线版空间:自助建站+智能模板一键生成方案
济南网站建设制作公司,室内设计网站一般都有哪些功能?
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
*请认真填写需求信息,我们会在24小时内与您取得联系。