-
3. Stack(스택)Data Structure 2022. 1. 27. 14:15728x90
스택이란?
- 데이터를 일시적으로 저장하기 위해 사용하는 자료구조, 후입선출의 개념이다.
이처럼 push를 통해 자료를 담을 수도 있고, pop을 통해 자료를 빼서 반환할 수도 있다. 후입선출의 개념이기 때문에 LIFO 방식이라고도 부른다.
스택에 대한 다양한 메소드를 살펴보자
1. 초기화 함수 Initialize : 스택의 메모리 공간(배열)을 확보하는 등의 준비 작업을 수행하는 함수, 배열을 위한 메모리 공간을 만들 때 스택은 반드시 비어 있어야 한다.
2. Push : 데이터 추가 함수.
3. Pop : 데이터 제거 함수.
4. Peek : 스택 꼭대기의 데이터를 몰래 엿보는 함수. 입력과 출력이 없으므로 스택 포인터는 변화하지 않는다.
5. Clear : 스택에 쌓여 있는 모든 데이터를 삭제하는 함수.
6. Capacity : 스택의 용량을 반환하는 함수.
7. Size : 데이터의 개수를 반환하는 함수.
8. IsEmpty : 스택이 비어 있는지 검사하는 함수.
9. IsFull : 스택이 가득 차있는지 검사하는 함수.
10. Search : 임의의 값의 데이터가 스택의 어느 위치에 쌓여 있는지 검사하는 함수. top -> bottom 방향으로 선형 검색을 함
11. Print : 모든 데이터를 출력하는 함수.
12. Terminate : Initialize 함수로 확보한 스택을 해제함.
스택에서 활용될 수 있는 모든 함수를 적어보았고, 위 함수를 c언어를 통해 구현해 보았다.
IntStack.h (헤더파일)
IntStack.c (소스파일)
728x90'Data Structure' 카테고리의 다른 글
6. List#1 - LinearList (0) 2022.03.20 5. Recursion(재귀) (0) 2022.03.19 4. Queue(큐) (0) 2022.01.28 2. Search(선형 검색 & 이진 검색) (0) 2022.01.21 1. 동적 배열 (0) 2022.01.13