资讯专栏INFORMATION COLUMN

js模拟简单的栈和队列

张金宝 / 783人阅读

摘要:移除数组第一项并返回该项同时将数组的长度减一。简单实现栈使用和结合实现简单栈简单实现队列使用与结合实现简单队列额外补充与用途相反,在数组前端添加任意个项,并返回新数组的长度。

栈和队列

栈:LIFO(先进后出)一种数据结构
队列:LILO(先进先出)一种数据结构

使用的js方法

1.push();可以接收任意数量的参数,把它们逐个推进队尾(数组末尾),并返回修改后的数组长度。
2.pop();从数组末尾移除最后一项,减少数组的值,返回移除的项。
3.shift();移除数组第一项并返回该项同时将数组的长度减一。

简单实现栈

使用push()和pop()结合实现简单栈

var colors = new Array();
var count = colors.push("red","white","blue");
alert(count);//3

var item = colors.pop();
alert(item);//blue
alert(colors.length);//2
简单实现队列

使用shift()与push()结合实现简单队列

var colors = new Array();
var count = colors.push("red","green");
alert(count);//2

var item = colors.shift();
alert(item);//red
alert(colors.length);//1
额外补充

unshift()与shift()用途相反,unshift()在数组前端添加任意个项,并返回新数组的长度。
注意:IE7以及更早版本对JavaScript的实现中存在偏差,其unshift()方法总是返回undefined而不是新数组的长度。IE8在非兼容模式下会返回正确的长度值。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/95523.html

相关文章

  • js数据结构和算法(二)栈和队列

    摘要:对于栈来说,这个表尾称为栈的栈顶,相应的表头称为栈底。栈和队列的区别栈的插入和删除操作都是在一端进行的,而队列的操作却是在两端进行的。出栈操作出栈操作就是在栈顶取出数据,栈顶指针随之下移的操作。 基本概念 栈和队列都是动态的集合,在栈中,可以去掉的元素是最近插入的哪一个。栈实现了后进先出。在队列中,可以去掉的元素总是在集合中存在的时间最长的那一个。队列实现了先进先出的策略。 栈的官...

    jsummer 评论0 收藏0
  • 学习javascript数据结构(一)——栈和队列

    摘要:原文地址学习数据结构一栈和队列博主博客地址的个人博客几乎所有的编程语言都原生支持数组类型,因为数组是最简单的内存数据结构。他们就是栈和队列。我们称作栈顶,而另一端我们称作栈底。移除栈顶的元素,同时返回被移除元素。 前言 只要你不计较得失,人生还有什么不能想法子克服的。 原文地址:学习javascript数据结构(一)——栈和队列 博主博客地址:Damonare的个人博客 几乎所有的编程...

    doodlewind 评论0 收藏0
  • js数据结构与算法--栈和队列

    摘要:后入先出入栈使用方法,出栈使用方法入栈出栈出站队列队列是一种特殊的线性表,特殊之处在于它只允许在表的前端进行删除操作,而在表的后端进行插入操作,和栈一样,队列是一种操作受限制的线性表。 1.栈(stack) 栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈...

    ddongjian0000 评论0 收藏0
  • js堆,栈与队列

    摘要:内存空间又被分为两种,栈内存与堆内存。今天就堆栈队列的内容就大概说到这里下一篇博客在继续说一下,有什么说的不对或者不足的地方,请大家批评指正 栈的定义 栈是计算机科学中的一种抽象数据类型,只允许在有序的线性数据集合的一端(称为堆栈顶端,英语:top)进行加入数据(英语:push)和移除数据(英语:pop)的运算。因而按照后进先出(LIFO, Last In First Out)的原理运...

    Kosmos 评论0 收藏0
  • LeetCode 232:用栈实现队列 Implement Queue using Stacks

    摘要:题目使用栈实现队列的下列操作将一个元素放入队列的尾部。用栈实现队列,可以用两个栈完成题解。入队列时用存入节点,出队列时内节点顺序出栈压入中。这类编程语言就压根不需要用队列实现栈或用栈实现队列这种问题,因为栈和队列本身就必须借助实现。 题目: 使用栈实现队列的下列操作: push(x) -- 将一个元素放入队列的尾部。 pop() -- 从队列首部移除元素。 peek() -- 返回队...

    cloud 评论0 收藏0

发表评论

0条评论

张金宝

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<