Stack

byungju0624·2020년 10월 27일
0
post-thumbnail

Stack이란?

-> LIFO(Last In First Out: 후입선출) 원리에 다라 정렬된 컬렉션. 항상 동일한 종단점에서 추가/삭제한다.

-> 거꾸로 정렬된 데이터를 꺼내쓰고 싶을 때 유용하다.

Stack이 지원하는 4가지 기능

1. pop()
-> 맨 마지막에 넣은 데이터를 가져오면서 지우는 기능
2. push()
-> 새로운 데이터를 맨 위에 쌓아올리는 기능
3. peek()
-> 맨 마지막 데이터를 보는 기능
4. isEmpty()
-> Stack에 데이터가 있는 지 없는 지 확인하는 기능
5. size()
-> Stack의 크기 확인 기능
6.clear()
-> Stack에 들어있는 아이템 전부 삭제 기능

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;
  }
}

이렇게 해서 스택을 구현해보았다.

0개의 댓글