zoukankan      html  css  js  c++  java
  • Js 栈和堆的实现

    一、队列和堆栈的简单介绍

    1.1、队列的基本概念

    队列:是一种支持先进先出(FIFO)的集合,即先被插入的数据,先被取出!

     

    1.2、堆栈的基本概念

    堆栈:是一种支持后进先出(LIFO)的集合,即后被插入的数据,先被取出!

    如下图所示:

    二、 在JavaScript中实现队列和堆栈

    在JavaScript中实现队列和数组主要是通过数组,js数组中提供了以下几个方法可以让我们很方便实现队列和堆栈:

    shift:从数组中把第一个元素删除,并返回这个元素的值。

    unshift: 在数组的开头添加一个或更多元素,并返回新的长度

    push:在数组的中末尾添加元素,并返回新的长度

    pop:从数组中把最后一个元素删除,并返回这个元素的值。

    2.1、实现队列

    <script type="text/javascript">
            //创建一个数组来模拟队列
            var a=new Array();
            console.log(a);
            //unshift: 在数组的开头添加一个或更多元素,并返回新的长度
            console.log("入队");
            a.unshift(1)
            console.log(a);//----->1
            a.unshift(2);
            console.log(a);//----->2,1
            a.unshift(3);
            console.log(a);//----->3,2,1
            a.unshift(4);
            console.log(a);//----->4,3,2,1
            console.log("出队,先进先出");
            console.log(a);
            //pop:从数组中把最后一个元素删除,并返回这个元素的值
            a.pop();//----->1
            console.log(a);
            a.pop();//----->2
            console.log(a);
            a.pop();//----->3
            console.log(a);
            a.pop();//----->4
            console.log(a);
    </script>

    在google浏览器控制台输出的效果如下图所示:

    2.2、实现堆栈

    <script type="text/javascript">
            //创建一个数组来模拟堆栈
            var a=new Array();
            console.log(a);
            //push: 在数组的末尾添加一个或更多元素,并返回新的长度
            console.log("入栈");
            a.push(1)
            console.log(a);//----->1
            a.push(2);
            console.log(a);//----->1,2
            a.push(3);
            console.log(a);//----->1,2,3
            a.push(4);
            console.log(a);//----->1,2,3,4
            console.log("出栈,后进先出");
            console.log(a);
            //pop:从数组中把最后一个元素删除,并返回这个元素的值
            a.pop();//----->4
            console.log(a);
            a.pop();//----->3
            console.log(a);
            a.pop();//----->2
            console.log(a);
            a.pop();//----->1
            console.log(a)

    在google浏览器控制台输出的效果如下图所示

  • 相关阅读:
    【Flutter 实战】1.20版本更新及新增组件
    【Flutter 实战】各种各样形状的组件
    【Flutter 实战】全局点击空白处隐藏键盘
    Flutter —布局系统概述
    【Flutter 实战】17篇动画系列文章带你走进自定义动画
    lvs负载简介,原理,常见使用案例及Keepalived高可用
    02 . MongoDB复制集,分片集,备份与恢复
    Go之Casbin简介,安装,模型,存储,函数
    govendor包管理及Go项目热加载
    教你三招快速文件批量重命名方法
  • 原文地址:https://www.cnblogs.com/jack-liu6/p/9336016.html
Copyright © 2011-2022 走看看