数据结构与算法之栈
2019-12-04 本文已影响0人
27亿光年中的小小尘埃
创建一个栈
class Stack {
// 存储数组
dataStore = []
// 栈顶位置
top = 0
// 入栈
push(element) {
this.dataStore[this.top++] = element
}
// 返回栈顶,并栈顶元素减一
pop() {
return this.dataStore[--this.top]
}
// 返回栈顶
peek() {
return this.dataStore[this.top - 1]
}
// 栈的长度
length() {
return this.top
}
// 清空栈
clear() {
this.top = 0
}
}
用栈实例,创建一个基数2-9的数制度
// 用栈算法将数字转换为二进制和8进制
function mulBase(num, base) {
var t = new Stack()
var converted = ""
do {
t.push(num % base)
num = Math.floor(num /= base)
} while (num > 0);
while (t.length() > 0) {
converted += String(t.pop())
}
return converted
}
// 转换成二进制
print(mulBase(33, 2))
// 转换成八进制
print(mulBase(125, 8))