스택(Stack)

스택은 최근에 들어온 데이터가 가장 먼저 빠져나갑니다.

이러한 입출력 형태를 LIFO(후입선출)이라고 부릅니다.

스택은 배열과 연결리스트 두가지 형태로 구현할수 있습니다.

배열로 구현한다면 쉽게 사용할 수 있지만 스택의 크기가 한정되기 때문에

저는 연결리스트로 구현해 보았습니다.

 

노드는 head포인터를 이용하여 모든 자료에 접근하였습니다.

스택은 Top포인터를 이용하여 모든 자료에 접근할 수 있습니다.

 

     스택의 기본연산

  • create() : 스택을 생성한다.
  • push()  : 스택에 데이터 추가
  • pop()   : 스택에서 데이터를 꺼냄
  • is_empty(): 스택이 비었는지 확인

   

    push()/pop 구조

 

   

 

  A B C D는 모두 연결리스트로 연결되있으며 push()를 할때는 리스트의 맨 앞에

  추가를 해줍시다!

 

  소스코드

 

 

 

   

   

  

 

 

복사했습니다!