프로그래밍/C언어
[Algorithm] Stack_스택_LIFO
Changun An
2020. 12. 9. 00:27
반응형
| STACK_스택
1) 스택의 개념 |
- 여러개의 데이터 항목들이 일정한 순서대로 나열된 자료구조 - 한쪽 끝에서만 삽입 / 삭제가 가능한 형태 - 선형 리스트의 특수한 경우로 top 자료구조의 끝에서 삽입, 삭제 |
2) 원리 |
- 플랭글스 감자칩처럼 마지막에 들어온 자료가 가장 먼저 나가는 구조 |
3) 기본 성격 |
- 후입 선출 구조 (Last In First Out) LIFO 형태 - 스택에 가장 마지막에 들어온 데이터가 가장 먼저 삭제 |
4) 기본 구조 |
- base로 쌓아져 올린 모양을 갖는다. - 삽입과 삭제는 top위치의 스택 포인터를 통해 이루어 진다. |
![]() |
5) 스택의 입출력 |
삽입 ( push ) : 스택의 상단에 새로운 값을 집어 넣음. --> Full 검사 ( stack overflow ) |
삭제 ( pop ) : 스택의 값을 하나 빼내는 동작 --> Empty 검사 ( stack Underflow ) |
1) 스택에 데이터를 삽입하는 ( push )
- 데이터 항목을 하나 삽입하고 스택포인터를 증가
- stack의 top 데이터 항목을 저장
- Full 검사 : top = 배열의 크기
![]() |
![]() |
![]() |
![]() |
![]() |
2) 스택에 데이터를 삭제하는 ( pop )
- stack에서 데이터를 삭제하는 것 top값을 제거, top감소
- Empty 검사
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Code -> github : Stack Array 구현
github.com/Anchangun/Library/tree/main/C/StackArray
Anchangun/Library
Library in Practice and Development. Contribute to Anchangun/Library development by creating an account on GitHub.
github.com
Code -> github : Stack Linked List 구현
github.com/Anchangun/Library/tree/main/C/StackLinkedList
Anchangun/Library
Library in Practice and Development. Contribute to Anchangun/Library development by creating an account on GitHub.
github.com
반응형