|
|
|
/**
|
|
|
|
* File: stack.js
|
|
|
|
* Created Time: 2022-12-04
|
|
|
|
* Author: S-N-O-R-L-A-X (snorlax.xu@outlook.com)
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
/* Driver Code */
|
|
|
|
/* 初始化栈 */
|
|
|
|
// Javascript 没有内置的栈类,可以把 Array 当作栈来使用
|
|
|
|
const stack = [];
|
|
|
|
|
|
|
|
/* 元素入栈 */
|
|
|
|
stack.push(1);
|
|
|
|
stack.push(3);
|
|
|
|
stack.push(2);
|
|
|
|
stack.push(5);
|
|
|
|
stack.push(4);
|
|
|
|
console.log("栈 stack =", stack)
|
|
|
|
|
|
|
|
/* 访问栈顶元素 */
|
|
|
|
const peek = stack[stack.length - 1];
|
|
|
|
console.log("栈顶元素 peek =", peek)
|
|
|
|
|
|
|
|
/* 元素出栈 */
|
|
|
|
const pop = stack.pop();
|
|
|
|
console.log("出栈元素 pop =", pop)
|
|
|
|
console.log("出栈后 stack =", stack)
|
|
|
|
|
|
|
|
/* 获取栈的长度 */
|
|
|
|
const size = stack.length;
|
|
|
|
console.log("栈的长度 size =", size)
|
|
|
|
|
|
|
|
/* 判断是否为空 */
|
|
|
|
const is_empty = stack.length === 0;
|
|
|
|
console.log("栈是否为空 =", is_empty)
|