使用js实现数据结构栈

使用js实现数据结构栈

说明:

栈是是一种遵从后进先出原则的有序集合。新添加的元素都保存在栈的一端,称作栈顶,另一端叫做栈底。在栈中,新元素都靠近栈顶,旧元素都靠近栈底。

功能:

push:往栈里追加元素
pop:删除栈里的元素,同时返回该元素
peek:获取栈顶的元素,并返回
clear:清空栈里的所有元素
isEmpty: 判断栈是否为空,返回true or false
size:判断栈里元素的个数
具体代码如下:

//创建一个类Stack用来表示栈,并初始化一个空数组item,用来存储栈里的元素
class Stack {
		constructor() {
			this.item=[];
		}
		push(value) {
			this.item.push(value)
		}
		pop() {
			return this.item.pop()
		}
		peek() {
			return this.item[this.item.length-1]
		}
		clear() {
			this.item=[]
		}
		isEmpty() {
			return this.item.length==0
		}
		size() {
			return this.item.length
		}
	}

测试:

//创建一个栈的实例
	var stack=new Stack();
	//往栈里添加元素3,4,5,6,7
	stack.push(3);
	stack.push(4);
	stack.push(5);
	stack.push(6);
	stack.push(7);
	console.log(stack)          //此时栈是[3,4,5,6,7]
	console.log(stack.pop())    //因为栈是后进先出的,所以此时弹出的是7
	console.log(stack)          //此时栈是[3,4,5,6]
	console.log(stack.peek())   //获取栈顶元素,此事为6
	console.log(stack.size())   //此时栈的长度为4
	console.log(stack.isEmpty())//判断栈是否为空,返回false
	stack.clear()               //清空栈
	console.log(stack)          //次数栈为空,[]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值