[항해99 취업 리부트 코스 학습일지] 스택

HEUKWU·2024년 4월 3일
0

스택은 한쪽 끝에서만 원소를 넣거나 뺄 수 있는 자료구조이다.
브라우저에서도 스택이 사용되는데, 브라우저에서 웹페이지를 탐색할 때 링크를 클릭하거나 뒤로 가기 버튼을 누르면, 방문한 페이지의 주소를 스택에 추가한다. 앞으로 가기 버튼을 누르면 이전에 스택에 추가된 페이지 주소를 꺼내어 해당 페이지로 이동한다.
이렇게 스택은 먼저 들어간 원소가 제일 나중에 나오게 되는 구조를 가진다.
LIFO(Last In First Out) 자료구조라고도 한다.

스택의 기본 연산으로는 push, pop, peek이 있다.

push

Stack<Integer> stack = new Stack<>();
stack.push(1);
stack.push(2);

스택의 요소를 차례로 쌓으면서 추가한다.

pop

int pop = stack.pop();
System.out.println(pop);
// 2출력

스택의 가장 위에 위치한 요소를 제거하고 그 요소를 반환한다.

peek

int peek = stack.peek();
System.out.println(peek);
// 1출력

스택의 가장 위에 위치한 요소의 값을 반환한다.

비슷한 자료구조로 큐와 덱이 있다.
큐는 후입선출인 스택과 반대로 선입선출(First In First Out)구조로, 먼저 넣은 요소가 가장 먼저 나온다.
덱은 양방향에서 데이터를 추가하거나 제거할 수 있는 자료구조이다.

스택, 큐, 덱은 Restricted Structure로, 특정한 제약이나 규치을 따르는 자료 구조를 가리킨다.
따라서 특정한 용도에 맞게 동작을 수행하거나 최적화된 성능을 제공하기 위해 사용된다.


항해99 취업 리부트 코스를 수강하고 작성한 콘텐츠 입니다.

항해 리부트 코스

0개의 댓글

관련 채용 정보