/*
push() :添加一个新元素到栈顶。
pop() :移除栈顶的元素,同时返回被移除的元素。
peek() :返回栈顶的元素,不对栈做任何修改。
isEmpty() :如果栈里没有任何元素就返回 true ,否则返回 false 。
clear() :移除栈里的所有元素。
size() :返回栈里的元素个数。
*/
function Stack() {
let items = [],
this.push = function(element) {
items.push(element)
}
this.pop = function(element) {
return items.pop(element);
}
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;
}
}
//Example 十进制转二进制
function divideBy2(Number) {
let stack = new Stack(),
rem,
binaryString = '';
while(Number > 0) {
rem = Number % 2;
stack.push(rem);
Number = Math.floor(Number / 2);
}
while(!stack.isEmpty()) {
binaryString += stack.pop();
}
return binaryString;
}
【JavaScript】用JavaScript实现栈
于 2018-09-06 22:43:11 首次发布