JavaScript数据结构与算法——第三章 栈
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript数据结构与算法——第三章 栈相关的知识,希望对你有一定的参考价值。
栈:后进先出。栈顶在最后,栈底在最前。新添加的元素和待删除的元素抖保存在栈的末尾。
创建一个栈:
function Stack() { var items = []; /*用数组保存栈里的元素*/ this.push = function(e) { items.push(e); } this.pop = function() { return items.pop(); } this.peek = function() { return items[length - 1]; } this.isEmpty = function() { return items.length == 0; } this.size = function() { return items.length; } this.clear = function() { items = []; } this.print = function() { console.log(items.toString()); } }
使用stack类,实例化一个栈:
var stack= new Stack();/*创建一个空栈*/ /*使用它的方法*/ stack.size(); //0 stack.isEmpty(); //true stack.push(2); stack.push(3); stack.print(); //"2,3"
用栈做什么?
例子:10进制转化成指定的进制数数。
function baseConverter(decNumber,base){ var stack=new Stack(); var rem, binaryString=‘‘, digits=‘0123456789ABCDEF‘; while(decNumber>0){ rem=decNumber%base; stack.push(rem); decNumber=Math.floor(decNumber/base); } while(!stack.isEmpty()){ binaryString+=digits[stack.pop()]; } return binaryString; }
以上是关于JavaScript数据结构与算法——第三章 栈的主要内容,如果未能解决你的问题,请参考以下文章
手把手5分钟掌握JavaScript栈数据结构JavaScript数据结构与算法系列
手把手5分钟掌握JavaScript栈数据结构JavaScript数据结构与算法系列
手把手5分钟掌握JavaScript栈数据结构JavaScript数据结构与算法系列
震惊!5分钟封装JavaScript栈数据结构Stack类JavaScript数据结构与算法系列