-> LIFO(Last In First Out: 후입선출) 원리에 다라 정렬된 컬렉션. 항상 동일한 종단점에서 추가/삭제한다.
-> 거꾸로 정렬된 데이터를 꺼내쓰고 싶을 때 유용하다.
1. pop()
-> 맨 마지막에 넣은 데이터를 가져오면서 지우는 기능
2. push()
-> 새로운 데이터를 맨 위에 쌓아올리는 기능
3. peek()
-> 맨 마지막 데이터를 보는 기능
4. isEmpty()
-> Stack에 데이터가 있는 지 없는 지 확인하는 기능
5. size()
-> Stack의 크기 확인 기능
6.clear()
-> Stack에 들어있는 아이템 전부 삭제 기능
class Stack{
constructor(){
this.items = [];
}
push = (elements) => {
return this.items.push(elements);
}
pop = () => {
return this.items.pop();
}
peak = () => {
let length = this.items.length
return this.items[length-1];
}
clear = () => {
return this.items = [];
}
size = () => {
return this.items.length;
}
isEmpty = () => {
return this.items.length === 0;
}
}
이렇게 해서 스택을 구현해보았다.