美文网首页
JS中的栈结构

JS中的栈结构

作者: 俗三疯 | 来源:发表于2017-10-10 15:36 被阅读10次

Stack类的实现

function Stack(){
    this.dataStore = [];
    this.top = 0;
    this.push = push;
    this.pop = pop;
    this.peek = peek;
    this.clear = clear;
    this.length = length;
}
function push(element){
    this.dataStore[this.top++] = element;
}
function peek(){
    return this.dataStore[this.top-1];
}
function pop(){
    return this.dataStore[--this.top];
}
function clear(){
    this.top = 0;
}
function length(){
    return this.top;
}

实例:数制间的相互转换

假设想将数字n转换为以b为基数的数字,实现转换的算法如下:
(1)最高位为n%b,将此位压入栈。
(2)使用n/b代替n
(3)重复步骤1和2,直到n等于0,且没有余数
(4)持续将栈内元素弹出,直到栈为空,依次将这些元素排列,就得到转换后数字的字符串形式

function mulBase(num,base){
    var s = new Stack();
    do{
        s.push(num % base);
        num = Math.floor(num /= base)
    }while(num > 0);
    var converted = "";
    while(s.length() > 0){
        converted += s.pop();
    }
}

实例:判断一个单词是否是回文

function isPlaindrome(word){
    var s = new Stack();
    for(var i=0;i<word.length;++i){
        s.push(word[i]);
    }
    var rword = "";
    while(s.length() > 0){
        rword += s.pop();
    }
    if(word == rword){
        return true;
    }else{
        return falsej;
    }
}

整理自《数据结构与算法Javascript》

相关文章

  • JS中的栈结构

    Stack类的实现 实例:数制间的相互转换 假设想将数字n转换为以b为基数的数字,实现转换的算法如下:(1)最高位...

  • 前端-算法1:栈、队列、链表

    栈 一个先进后出的数据结构JS中没有栈,用Array实现栈的功能进栈: push 出栈:pop栈的应用场景: 十进...

  • 1. 栈

    1. 栈简介(后进先出) 栈是一个后进先出的数据结构; JS 中没有栈,但是可以用 Array 实现栈中的所有的功...

  • 栈的图文解析

    本文所说的栈是数据结构中的栈,而不是内存模型中栈。 栈(stack),是一种线性存储结构,它有以下几个特点: 栈中...

  • 记录数据结构与算法的学习之路 -----003.栈

    1.栈结构 栈在逻辑结构中,属于线性结构,从图1可以看出,出栈和入栈都是只能通过栈顶进行操作,所以可以得出栈的读取...

  • JS内存图

    画JS内存图可以有效的解决JS中的一些内存问题JS中内存分为2中:栈内存(Stack)跟堆内存(Heap)栈内存:...

  • 常见的数据结构-栈结构的介绍

    栈结构 栈也是一种非常常见的数据结构, 并且在程序中的应用非常广泛. 一. 认识栈结构 我们先来简单认识一下栈结构...

  • JVM基础结构与字节码执行引擎

    JVM基础结构 JVM内部结构如下:栈、堆。 栈 JVM中的栈主要是指线程里面的栈,里面有方法栈、native方法...

  • JS中的栈和堆

    学过数据结构的同学对于栈和堆都多少有点了解吧!不了解也没关系,学习JS中的栈和堆也一样的_,下面我们来看看栈和堆到...

  • Js中的栈

    列表是一种最自然的数据组织方式。上一章已经介绍如何使用 List 类将数据组织成一个列 表。如果数据存储的顺序不重...

网友评论

      本文标题:JS中的栈结构

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