스택
설명
-
스택(Stack)
-
설명 : 스택은 후입선출(LIFO, Last-In-First-Out) 원칙에 따라 데이터를 저장하고 접근하는 자료구조입니다. 새로운 요소는 항상 스택의 맨 위에 추가되고, 제거할 때도 맨 위의 요소부터 제거됩니다.
-
구현 방법 : 일반적으로 배열 또는 연결 리스트로 구현됩니다. 배열로 구현할 경우에는 top 인덱스를 가리키는 포인터를 유지하며, 연결 리스트로 구현할 경우에는 각 노드가 데이터와 다음 노드를 가리키는 포인터를 가집니다.
-
사용 사례 : 함수 호출의 임시 데이터 저장, 역순 문자열 처리, 웹 브라우저의 뒤로가기 기능 등에 사용됩니다.
- 장단점 :
- 장점: 간단한 구조, 구현이 쉽고 빠른 데이터 접근
- 단점: 크기가 제한적이며, 중간 요소에 접근하기 어려움
스택 시뮬레이션
스택 시뮬레이션
코드로 알아보기
-
Java
public class MyStack { private int[] array; private int top; public MyStack(int capacity) { array = new int[capacity]; top = -1; } public void push(int element) { if (top == array.length - 1) throw new StackOverflowError(); array[++top] = element; } public int pop() { if (isEmpty()) throw new EmptyStackException(); return array[top--]; } public int peek() { if (isEmpty()) throw new EmptyStackException(); return array[top]; } public boolean isEmpty() { return top == -1; } }
댓글남기기