你的位置:首页 > 软件开发 > Java > JavaScript数据结构,队列和栈

JavaScript数据结构,队列和栈

发布时间:2016-11-10 05:02:01
在JavaScript中为数组封装了大量的方法,比如:concat,pop,push,unshift,shift,forEach等,下面我将使用JavaScript提供的这些方法,实现队列和栈的操作。栈栈是一种遵从后进先出(LIFO)原则的有序集合。新添加的或待删除的元素都保存在 ...

JavaScript中为数组封装了大量的方法,比如:concat,pop,push,unshift,shift,forEach等,下面我将使用JavaScript提供的这些方法,实现队列和栈的操作。

栈是一种遵从后进先出(LIFO)原则的有序集合。新添加的或待删除的元素都保存在栈的末尾,称作栈顶,另一端就叫栈底。在栈里,新元素都靠近栈顶,旧元素都接近栈底。

我们先创建一个表示栈的类,类名为Stock,其实这就是一个函数,在这个函数中有一个数组,这个数组用于保存栈中的数据,除了需要一个保存数据的数组之外,还需要一些对这个数组进行操作的方法,方法介绍如下:

isEmpty:判断栈是否为空

push:添加一个或者多个新的数据到栈顶

pop:移除栈顶的数据,并返回被移除的数据

size:得到栈中数据的个数

clear:清除栈中的所有数据

peek:得到栈顶的数据,但不移除

Stock类具体实现如下:

/** * 栈类 * @constructor */function Stock() {  //保存栈中的数据  this.items = [];}/** * 判断是否栈中数据为空 */Stock.prototype.isEmpty = function(){  return this.items.length === 0;};/** * 向栈顶添加一个或多个新数据 * @param elements 要添加的新数据 */Stock.prototype.push = function(elements){  this.items.push(elements);};/** * 移除栈顶的数据,并返回移除的数据 */Stock.prototype.pop = function(){  return this.items.pop();};/** * 得到栈中数据的个数 * @returns {Number} */Stock.prototype.size = function(){  return this.items.length;};/** * 得到栈顶的数据,但不移除数据 */Stock.prototype.peek = function(){  return this.items[this.items.length - 1];};

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:JavaScript数据结构,队列和栈

关键词:JavaScript

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。