0
点赞
收藏
分享

微信扫一扫

【算法系列】栈和队列——3,数组实现栈

ITWYY 2022-04-03 阅读 85

文章目录

数据结构

栈和队列类似,不过它是先入后出。

有四个常用操作:

  1. 入栈
  2. 出栈
  3. 堆栈溢出,Stack Overflow
  4. 是否空栈

数组实现

有一个指针:栈顶索引。

class ArrayStack {
	constructor(size) {
		this.arr = new Array(size)
		this.index = -1
	}
	add(obj) {
		if (this.isFull()) {
			console.error("满啦")
			return
		}
		this.arr[++this.index] = obj
	}
	remove() {
		if (this.isEmpty()) {
			console.error("空啦")
			return
		}
		let temp = this.arr[this.index]
		this.arr[this.index--] = null
		return temp
	}
	isFull() {
		return this.index === this.arr.length - 1
	}
	isEmpty() {
		return this.index === -1
	}
}

测试:入12345。

在这里插入图片描述
出543。

在这里插入图片描述
堆栈溢出。

在这里插入图片描述

举报

相关推荐

0 条评论