数据结构与算法之栈

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))
上一篇下一篇

猜你喜欢

热点阅读