Stack
-
스택 / 큐대학/자료구조실습 2022. 12. 15. 21:38
- 스택 (Stack) 한 쪽에서만 데이터 입출력이 일어나는 선형구조로, 가장 마지막에 삽입된 원소가 가장 먼저 제거되는 LIFO 형태의 자료구조 이다. c++ STL의 stack 라이브러리이다. 위 코드는 일반 스택1과, 크기가 2, 값 100으로 초기화한 vector을 이용한 스택2를 수정해보는 코드이다. - 큐 (Queue) 한 쪽에서 데이터 입력이, 다른 한 쪽에서 데이터 출력이 일어나는 선형구조로, 가장 처음에 삽입된 원소가 가장 먼저 제거되는 FIFO 형태의 자료구조 이다. c++ STL의 queue 라이브러리이다. 위 코드는 일반 큐1과, 크기가 2, 값 100으로 초기화한 list을 이용한 큐2를 수정해보는 코드이다.
-
Stack대학/자료구조 2022. 12. 4. 16:50
Stack 은 LIFO(Last In First Out) 형태의 자료구조이다. 대표적인 응용 예시로는 계산기를 예로 들 수 있다. 보통 수식은 Infix notation 형식으로 입력한다. (3+4)*7 stack을 활용하기 위해선 이를 Postfix notation으로 변환해야 하는데, 3 4 + 7 * 이 때, stack을 활용하면 쉽게 이를 달성할 수 있다. 입력으로 들어온 Infix notation은 총 4가지의 경우에 따라 다르게 처리된다. 1. 왼쪽 괄호인가? '(' 왼쪽 괄호의 경우에는 stack에 추가한다. 2. 숫자(변수와 같은 피연산자)인가? 숫자의 경우에는 출력한다. 3. 연산자인가? '+', '-', '*', '/' 연산자의 경우에는 아래의 세 조건을 만족할 때 까지 모든 연산자를 ..