作者_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());