全国咨询热线:18720358503

直播购物微信小程序_javascript编程完成栈的方法详

类别:媒体报道 发布时间:2021-01-12 浏览人次:

javascript编程实现栈的方法详解【经典数据结构】       这篇文章主要介绍了javascript编程实现栈的方法,简单说明了栈的概念、特点并结合实例形式分析了javascript栈的定义、入栈、出栈等操作相关实现技巧,需要的朋友可以参考下

本文实例讲述了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程序编写完成栈的方式,简易表明了栈的定义、特性并融合案例方式剖析了javascript栈的界...

2021-01-12
深圳网站建设公司哪家好或者比较靠谱的

许多人到在网上检索深圳市企业网站建设哪个好、深圳市企业网站建设企业价格、建立网站是多少钱等难题,能够得到许多不一样的回答,之中许多是营销推广营销推广信息内容,存...

2021-01-12
广州凡科互联网科技股份有限公司招聘网红主播

招聘人数:9职位信息岗位职责:1、负责淘宝/京东平台店铺直播及抖音等其他平台进行直播;2、负责热点类网络直播的内容策划,包括选题、执行、统等工作,包括衍生文章、短视频创...

2021-01-12
广州凡科互联网科技股份有限公司招聘UI设计师

招聘人数:11职位信息主要职责:1.负责项目/产品web网站、PC端、移动端产品的UI界面设计、升级维护;2.参与产品整体设计,UI设计方案规划,与产品经理或项目经理进行原型设计及细...

2021-01-12
网站设计色彩搭配原理

颜色配搭即是一项技术性性工作中,同时也是一项造型艺术性较强的工作中,因而在设计方案网页页面时除考虑到网站自身的特性外,也要遵照一定的造型艺术规律性,进而设计方案...

2021-01-12
广州凡科互联网科技股份有限公司招聘抖音运营

招聘人数:6职位信息1、负责公司抖音/快手/tik tok等账户运营,具备较强的文案能力和创意能力,脑洞要大,行动力强,能够独立完成平台的整体规划和内容输出。2、负责管理团队日常...

2021-01-12
X

400-8700-61718720358503
企业邮箱2639601583@qq.com
官方微信