美文网首页
数据结构与算法之栈

数据结构与算法之栈

作者: 27亿光年中的小小尘埃 | 来源:发表于2019-12-04 23:02 被阅读0次

    创建一个栈

    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))
    

    相关文章

      网友评论

          本文标题:数据结构与算法之栈

          本文链接:https://www.haomeiwen.com/subject/nfergctx.html