深圳市伙伴行网络科技有限公司(单题)

题型 难易度 出现频率 浏览 评论
问答题 32 0
试题信息收集不易,转发请带上出处,不甚感谢!如果您对任何编程问题还有疑问,欢迎点击下方按钮向老师提问!
问答题

首先要先了解一下什么是队列和栈

队列的基本概念

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

堆栈的基本概念

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

区别:

1.删除数据元素的位置不同,栈的删除操作在表尾进行,队列的删除操作在表头进行。

2.应用场景不同;常见栈的应用场景包括括号问题的求解,表达式的转换和求值,函数调用和递归实现,深度优先搜索遍历等;常见的队列的应用场景包括计算机系统中各种资源的管理,消息缓冲器的管理和广度优先搜索遍历等。

3.顺序栈能够实现多栈空间共享,而顺序队列不能。

JavaScript实现

在面向对象的程序设计里,一般都提供了实现队列(queue)和堆栈(stack)的方法, 在 JavaScript 中,可以使用数组及其相关操作来模拟栈操作。,来实现队列和堆栈的功能,看下面的相关介绍.

看一下它们的性质,这种性质决定了它们的使用场合

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

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

代码如下

var a=new Array();

a.unshift(1);

a.unshift(2);

a.unshift(3);

a.unshift(4);

console.log("先进先出")

a.pop()

var a=new Array();

a.push(1);

a.push(2);

a.push(3);

a.push(4);

console.log("后进先出")

a.pop()