标签:git asc style 数组 数据结构 size his pre 数据
栈:后进先出。栈顶在最后,栈底在最前。新添加的元素和待删除的元素抖保存在栈的末尾。
创建一个栈:
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; }
标签:git asc style 数组 数据结构 size his pre 数据
原文地址:http://www.cnblogs.com/t1amo/p/6636093.html