728x90
스택
- 한쪽이 열려있는 통을 비유할 수 있음
- 먼저 들어간 것이 나중에 나오는 자료구조
- LIFO(Last-in, First-out) 구조
- 여기서 넣는 연산을 push, 꺼내는 연산을 pop이라 함
- pop을 하게되면 스택의 데이터의 조회 및 삭제를 하지만 peek을 하면 조회는 하지만 삭제를 안함
스택의 ADT
- 초기화
void StackInit(Stack* pStack);
- 비어있는지 확인
int SIsEmpty(Stack* pStack);
- 데이터 저장
void SPush(Stack* pStack, Data data);
- 데이터 삭제
-> 삭제와 동시에 삭제하는 데이터 반환
-> 삭제할 데이터가 있어야 함 (SIsEmpty가 먼저 호출이 되어야 함)
Data SPop(Stack* pStack);
- 데이터 조회(반환)
-> pop과 달리 삭제를 하지 않음
-> 조회할 데이터가 있어야 함 (SIsEmpty가 먼저 호출이 되어야 함)
Data SPeek(Stack* pStack);
728x90
'Programming > Data Structure' 카테고리의 다른 글
열혈 자료구조 - 6-3. 연결 리스트 기반의 스택 구현 (0) | 2020.12.20 |
---|---|
열혈 자료구조 - 6-2. 배열 기반의 스택 구현 (0) | 2020.12.20 |
열혈 자료구조 - 5-2. 양방향 연결 리스트(2) (0) | 2020.12.20 |
열혈 자료구조 - 5-2. 양방향 연결 리스트(1) (0) | 2020.12.19 |
열혈 자료구조 - 5-1. 원형 연결 리스트(2) (0) | 2020.12.19 |