什么是栈?
栈是一种后进先出(LIFO)的数据结构
基本的计算机数据结构
实现的方法
// 栈方法实现
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() {
return items = [];
}
// 获取栈的大小
this.size = function() {
return items.length;
}
// 获取栈的方法
this.getItems = function() {
return items;
}
}
实战:十进制到二进制转换
const transfer2By10 = function(number) {
const stack = new Stack();
const yushu;
let result = '';
while(number > 0) {
yushu = number % 2;
stack.push(yushu);
number = Math.floor(number / 2)
}
while(!stack.isEmpty()) {
result += stack.pop();
}
return result;
}