类别:媒体报道 发布时间:2021-01-12 浏览人次:
本文实例讲述了javascript编程实现栈的方法。分享给大家供大家参考,具体如下:
栈是限定仅在表尾进行插入或删除操作的线性表,栈是先进后出的。栈的表尾称为栈顶(top),而表头端称为栈底(bottom)。
和线性表类似,栈也有两种存储表示方法,顺序栈和链栈。
这里讲一下顺序栈,设置指针top指示栈顶元素在顺序栈中的位置。通常的做法就是以top=0表示空栈。base为栈底指针,top为栈顶指针。
如果base为null,则表示栈结构不存在,如果top=base则表示空栈。每当插入一个新的元素,top+1,删除元素,top-1。因此,非空栈中top始终在栈顶元素的下一位置上。
如下图所示
JavaScript中自带了数组的push和pop方法,其原理无非就是数组最后继续添加和删除数组最后一个元素。这里我们自己实现一遍栈的操作,代码如下:
!DOCTYPE html html head meta charset="utf-8" title JS栈 /title /head body script type="text/javascript" function Stack(count){ var top=-1;//top头指针 this.myArray=new Array(); if(count!=undefined){ this.count=count; this.myArray=new Array(this.count); }else{ this.count=0; //入栈 this.In=function(value){ if(top==this.count){ return false; }else{ ++top; this.myArray[top]=value; return true; return false; //出栈 this.Out=function(){ if(top==-1){ return false; }else{ var removeValue=this.myArray[top]; this.myArray[top]=null; top--; return removeValue; this.Clear=function(){ this.top=-1; //遍历栈 this.tostring=function(){ for(var i=0;i this.myArray.length;i++){ document.write(this.myArray[i]+' br Stack(3); In(1); In(2); In(3); tostring();//1 2 3 Out(); Out(); tostring();//1 null null In(4); tostring();//1 4 null /script /body /html
首先需要定义头指针
function Stack(count){ var top=-1;//top头指针 this.myArray=new Array(); if(count!=undefined){ this.count=count; this.myArray=new Array(this.count); }else{ this.count=0;
然后是入栈操作
this.In=function(value){ if(top==this.count){ return false; }else{ ++top; this.myArray[top]=value; return true; return false;
和出栈操作
this.Out=function(){ if(top==-1){ return false; }else{ var removeValue=this.myArray[top]; this.myArray[top]=null; top--; return removeValue;
链栈的操作和链表类似,这里就不做详细介绍了。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》及《》
希望本文所述对大家JavaScript程序设计有所帮助。
javascript程序编写完成栈的方式详细说明【經典数据信息构造】 本文关键详细介绍了javascript程序编写完成栈的方式,简易表明了栈的定义、特性并融合案例方式剖析了javascript栈的界...
2021-01-12许多人到在网上检索深圳市企业网站建设哪个好、深圳市企业网站建设企业价格、建立网站是多少钱等难题,能够得到许多不一样的回答,之中许多是营销推广营销推广信息内容,存...
2021-01-12招聘人数:9职位信息岗位职责:1、负责淘宝/京东平台店铺直播及抖音等其他平台进行直播;2、负责热点类网络直播的内容策划,包括选题、执行、统等工作,包括衍生文章、短视频创...
2021-01-12招聘人数:11职位信息主要职责:1.负责项目/产品web网站、PC端、移动端产品的UI界面设计、升级维护;2.参与产品整体设计,UI设计方案规划,与产品经理或项目经理进行原型设计及细...
2021-01-12颜色配搭即是一项技术性性工作中,同时也是一项造型艺术性较强的工作中,因而在设计方案网页页面时除考虑到网站自身的特性外,也要遵照一定的造型艺术规律性,进而设计方案...
2021-01-12招聘人数:6职位信息1、负责公司抖音/快手/tik tok等账户运营,具备较强的文案能力和创意能力,脑洞要大,行动力强,能够独立完成平台的整体规划和内容输出。2、负责管理团队日常...
2021-01-12