Stack | 스택

스택은 LIFO(last in first out) 후입선출 원리에 따라 정렬된 컬렉션이다.

스택의 자료를 항상 동일한 종단점에서 추가/삭제가 된다.

스택에서 종단점은 꼭대기(top)와 바닥(base)이다.

가장 최근 자료는 꼭대기 근처에, 가장 오래된 자료는 바닥 근처에 위치한다.

스택 만들기

스택을 구현하는데 필요한 메서드이다.

push() : 스택 꼭대기에 새 원소를 추가한다. pop() : 스택 꼭대기에 있는 원소를 반환하고 해당 원소는 스택에서 삭제한다. peek() : 스택에 꼭대기에 있는 원소를 반환하되 스택은 변경하지 않는다. isEmpty() : 스택에 원소가 하나도 없으면 true, 스택의 크기가 0보다 크면 false를 반환한다. 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.empty = function() {
return items.length === 0;
};
this.size = function() {
return items.length;
};
this.clear = function() {
items = [];
};
this.print = function() {
console.log(items.toString());
};
}