하루의 쉼터

[Algorithm] Stack_스택_LIFO 본문

프로그래밍/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

 

반응형
Comments