数据结构-javascript实现【 栈 】
栈是一种遵从后进先出(LIFO) 原则的有序集合。新添加的或待删除的元素都保存在栈的末尾,称作栈顶,另一端叫做栈底。
1. 栈所拥有的方法
push: 添加一个元素到栈顶
pop: 移除栈顶的元素
peek: 返回栈顶的元素
clear: 清空栈里的元素
isEmpty: 检测栈是否为空
size: 返回栈的元素个数
2. 栈的实现
function stack() { let items = []; const push = (element) => { items.push(element); } const pop = () => { return items.op(); } const peek = () => { return items[items.length-1]; } const isEmpty = () => { return items.length == 0; } const size = () => { return items.length; } const clear = () => { items = []; } const print = () => { console.log(items.toString()); } return { push, pop, peek, isEmpty, size, clear, print }; }
3. 栈的测试
const stackObj = stack(); stackObj.push(1); stackObj.push(2); const a = stackObj.peek(); console.log(a); const b = stackObj.size(); console.log(b); stackObj.print();