Closed yanyue404 closed 6 years ago
这里是否应该使用unshift入栈,shift出栈更好一些?
unshift
shift
class Stack { constructor() { this.stack = [] } push(item) { this.stack.unshift(item); console.log(item + "------- , 入栈操作"); } pop() { var current = this.stack.shift(); console.log(current + "------- , 出栈操作"); return current; } peek() { return this.stack[this.getCount() - 1] } getCount() { return this.stack.length } isEmpty() { return this.getCount() === 0 } } var arr = new Stack(); var nowStackLog = function () { var state = arr.isEmpty() ? "空栈" : arr.stack; console.log(state + "------- , 当前栈内存"); } nowStackLog(); arr.push(1); arr.push(2); arr.push(3); nowStackLog(); arr.pop(); arr.pop(); arr.pop(); nowStackLog();
这两个操作的空间复杂度有考虑过么?
提问
这里是否应该使用
unshift
入栈,shift
出栈更好一些?