栈
数据结构 - 栈,先入后出,后入先出。
// 栈实现
// ES5
var Stack = function() {
var items = []; // 私有
// 栈顶添加元素
this.push = function(element) {
items.push(element);
};
// 栈顶拿出元素
this.pop = function() {
return items.pop();
};
// 检查栈顶元素
this.peek = function() {
return items[items.length - 1];
};
// 检查栈是否为空
this.isEmpty = function() {
return items.length == 0;
};
// 清除栈
this.clear = function() {
items = [];
};
// 获取栈长度
this.size = function() {
return items.length;
};
// 检查items
this.getItem = function() {
return items;
};
};
十进制转二进制 - 余数法
var decbin = function(number) {
var stack = new Stack();
var remainder = 0, result = '';
while (number > 0) {
remainder = number % 2;
stack.push(remainder);
number = Math.floor(number / 2);
}
while (!stack.isEmpty()) {
result += stack.pop();
}
return result;
};