首页 > 代码库 > JavaScript数据结构与算法——第三章 栈
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个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。