카테고리 없음

스택(stack)

CodeWithBeam 2024. 7. 16. 23:12

스택(stack)은

컴퓨터 과학에서 자주 사용되는 자료구조 중 하나로,

프로세스를 구성하는 4개의 요소 중 한 부분이며 함수의 호출에 관여한다.

 

✔️ 후입선출(LIFO: Last In, First Out) 원칙을 따른다. 

즉, 나중에 삽입된 데이터가 먼저 삭제된다.

 

✔️ 주요 연산은 다음과 같다

1. push : 스택의 맨 위에 데이터를 추가

2. pop : 스택의 맨 위에 있는 데이터를 제거하고 반환

3. peek : 스택의 맨 위에 있는 데이터를 제거하지 않고 반환

4. isEmpty : 스택이 비어있으면 True, 아니면 False 반환

5. isFull : 스택이 꽉 차있으면 True, 아니면 False 반환

 

✔️스택은 다양한 용도로 사용될 수 있다.

예를 들어 함수 호출을 추적하는데 사용되며, 웹 브라우저의 뒤로 가기 기능이나 문자열 역순 변환 등의 기능에서도 활용된다.

 

✔️ 스택 -> 클래스로 구현

: 자료구조는 함수를 기반으로 하는 절차적 프로그래밍보다는 클래스를 기반으로 하는 객체 지향 프로그래밍 기법을 이용해

  구현하는 것이 훨씬 좋다. 이것은 자료 구조의 추상 자료형이 클래스의 개념과 정확히 일치하기 때문이다.

 

✔️ 문자열 역순 출력 프로그램 -> 코드로 나타내기

-> 문자열 입력 : 오늘 저녁은 치맥이다!

-> 문자열 출력 : !다이맥치 은녁저 늘오