1
0
Fork 0
Obsidian 管理的个人笔记仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

753 B

队列跟栈一样,也是一种操作受限的线性表数据结构

用数组实现的队列叫作顺序队列,用链表实现的队列叫作链式队列

用两个栈实现一个队列

class StackQueue {
	private stack1: number[] = [];
	private stack2: number[] = [];
	
	add(value: number) {
		this.stack1.push(value);
	}
	
	popup() {
		if (!this.stack1.length) return;
		while (this.stack1.length) {
			const stackValue = this.stack1.pop();
			this.stack2.push(stackValue!);
		}
	
		const popValue = this.stack2.pop();
		
		while (this.stack2.length) {
			const stackValue = this.stack2.pop();
			this.stack1.push(stackValue!);
		}
		
		return popValue;
	}
	
	get length() {
		return this.stack1.length;
	}
}