作者_TechBridge

原文:用 JavaScript 學習資料結構和演算法:堆疊(Stack)篇

實作方式

以下實作出堆疊的方法

  • push
    • 新增
  • pop
    • 回傳最後新增的元素,並在集合中移除該元素
  • peek
    • 取得所有元素
  • isEmpty
    • 檢查集合是否為空
  • clear
    • 清除集合內的所有元素
  • size
    • 取得集合放置的資料個數
function Stack() {
  //集合
  var items = [];
  //新增
  this.push = function(element) {
    items.push(element);
  }
  //回傳最後新增的元素,並在集合中移除該元素
  this.pop = function() {
    return items.pop();
  }
  //取得所有元素
  this.peek = function() {
    return items[items.length - 1];
  }
  //檢查集合是否為空
  this.isEmpty = function() {
    return items.length === 0;
  }
  //清除集合內的所有元素
  this.clear = function() {
    items = [];
  }
  //取得集合放置的資料個數
  this.size = function() {
      return items.length;
    }
}

呼叫方式

//建立
var stack = new Stack();
stack.push('1');
stack.push('2');
stack.push('3');
stack.push('4');
//取得最後加入的元素
var popItem = stack.pop();

//4
console.log(popItem);
//3
console.log(stack.size()); 
//3
console.log(stack.peek());

stack.clear();
//true
console.log(stack.isEmpty());

results matching ""

    No results matching ""