栈的数据结构特点

  1. #特点:后进先出
  2. 1.push 入栈
  3. 2.pop 将栈顶的数据出栈
  4. 3.peek 获取栈顶的数据
  5. 4.isEmpty 判断栈是否为空
  6. 5.size 返回栈的长度
  1. /**
  2. * 入栈 push
  3. * 出栈 pop
  4. * peek 获取栈顶
  5. * isEmpty 判断栈是否为空
  6. * size 可以看栈里有多少个
  7. */
  8. function Stack() {
  9. this.items = [];
  10. }
  11. Stack.prototype.push = function (val) {
  12. this.items.push(val);
  13. }
  14. Stack.prototype.pop = function () {
  15. var res = this.items.pop();
  16. return res;
  17. }
  18. Stack.prototype.peek = function () {
  19. return this.items[this.items.length - 1];
  20. }
  21. Stack.prototype.isEmpty = function () {
  22. return this.items.length == 0;
  23. }
  24. Stack.prototype.size = function () {
  25. return this.items.length;
  26. }
  27. var arr = new Stack();
  28. arr.push(2)
  29. arr.push(4)
  30. console.log(arr);
  31. arr.pop()
  32. console.log(arr);
  33. console.log(arr.peek()); // 2
  34. console.log(arr.isEmpty()); //false
  35. console.log(arr.size()); //1