宝哥软件园

javascript编程实现栈的方法详解【经典数据结构】

编辑:宝哥软件园 来源:互联网 时间:2021-09-05

本文通过一个实例说明了用javascript编程实现堆栈的方法。分享给大家参考,如下:

Stack是一个线性表,只在表的末尾插入或删除。堆栈是先进先出的。堆栈的页脚称为顶部,而页眉端称为底部。

与线性表类似,栈有两种存储表示方法,顺序栈和链栈。

让我们谈谈顺序堆栈。将指针设置为顶部,以指示顶部元素在顺序堆栈中的位置。通常的做法是使用top=0来表示空堆栈。底部是底部指针,顶部是顶部指针。

如果base为null,则表示堆栈结构不存在,如果top=base,则表示堆栈为空。每次插入新元素top 1时,top 1元素都会被删除。因此,非空堆栈的顶部总是在堆栈顶部元素的下一个位置。

如下图所示

JavaScript有自己的数组push和pop方法,其原理是在末尾添加和删除数组的最后一个元素。这里我们自己实现栈操作,代码如下:

!一个doctype html html head meta charset=' utf-8 ' title js堆栈/title/head body脚本类型=' text/JavaScript '函数堆栈(计数){ var top=-1;//顶部头指针this . myarray=new Array();if(计数!=未定义){ this.count=countthis . my Array=新数组(this . count);} else { this . count=0;}//堆叠这个。in=函数(值){if (top==this。count){ return false;} else { topthis . my array[top]=值;返回真;}返回false}//堆叠这个。out=function(){ if(top==-1){ return false;} else { var remove value=this . my array[top];this . my array[top]=null;top-;返回removeValue} }这个。clear=function(){ this . top=-1;}//遍历栈这个。tostring=function(){ for(var I=0;this . my array . length;I){ document . write(this . my array[I]' br ');} } } Stack(3);在(1)中;在;在(3)中;tostring();//1 2 3 Out();out();tostring();//1 null null In(4);tostring();//1 4 null/script/body/html首先,需要定义头部指针

函数Stack(count){ var top=-1;//顶部头指针this . myarray=new Array();if(计数!=未定义){ this.count=countthis . my Array=新数组(this . count);} else { this . count=0;}然后是堆栈操作

//堆叠这个。in=函数(值){if (top==this。count){ return false;} else { topthis . my array[top]=值;返回真;}返回false}和堆栈操作

//堆叠这个。out=function(){ if(top==-1){ return false;} else { var remove value=this . my array[top];this . my array[top]=null;top-;返回removeValue}}链栈的操作类似于链表,这里就不详细描述了。

更多对JavaScript相关内容感兴趣的读者可以查看本网站专题:《JavaScript数据结构与算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、0103010。

希望本文对JavaScript编程有所帮助。

更多资讯
游戏推荐
更多+