浅谈JavaScript封装栈与队列

今天我们总结一下栈与队列在JavaScript中的实现
首先,栈是一种遵从先进后出的有序集合,新添加的或者待删除的元素保存到栈的末尾,叫栈顶,另一端就是栈顶

栈的创建
function Stack(){
	var items = [];//定义一个数组
	this.push = function(ele){
		return items.push(ele);
	}
	this.peek = function(){
		return items[items.length - 1];
	}
	this.clear = function(){
		return items[];
	}
	this.size = function(){
		return items.length;
	}
	this.pop = function(){
		return items.pop();
	}
	this.isEmpty = function(){
		return items.length == 0;
	}
	this.print = function(){
		console.log(items.toString());
	}
	
}
	
  • push(element(s)):添加一个(或几个)新元素到栈顶。

  • pop():移除栈顶的元素,同时返回被移除的元素。

  • peek():返回栈顶的元素,不对栈做任何修改(这个方法不会移除栈顶的元素,仅仅返 回它)。

  • isEmpty():如果栈里没有任何元素就返回true,否则返回false。 clear():移除栈里的所有元素。

  • size():返回栈里的元素个数。这个方法和数组的length属性很类似。

我们要实现的第一个方法是push。这个方法负责往栈里添加新元素,有一点很重要

队列的创建

function Queue() {
    var items = [];

    this.push = function(ele) {
        return items.push(ele);
    };

    this.shift = function() {
        return items.shift();
    };

    this.peek = function() {
        return items[0];
    };
    this.isEmpty = function() {
        return items.length == 0;
    };
    this.clear = function() {
        items = [];
    };
    this.size = function() {
        return items.length;
    };
    this.print = function() {
        console.log(items.toString());
    };
}
  • push(element(s))):向队列尾部添加一个(或多个)新的项

  • shift():移除队列的第一(即排在队列最前面的)项,并返回被移除的元素。

  • peek():返回队列中第一个元素——最先被添加,也将是最先被移除的元素。队列不
    做任何变动(不移除元素,只返回元素信息——与Stack类的peek方法非常类似)。

  • isEmpty():如果队列中不包含任何元素,返回true,否则返回false。

  • size():返回队列包含的元素个数,与数组的length属性类似。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值