스택(Stack)
스택은 최근에 들어온 데이터가 가장 먼저 빠져나갑니다.
이러한 입출력 형태를 LIFO(후입선출)이라고 부릅니다.
스택은 배열과 연결리스트 두가지 형태로 구현할수 있습니다.
배열로 구현한다면 쉽게 사용할 수 있지만 스택의 크기가 한정되기 때문에
저는 연결리스트로 구현해 보았습니다.
노드는 head포인터를 이용하여 모든 자료에 접근하였습니다.
스택은 Top포인터를 이용하여 모든 자료에 접근할 수 있습니다.
스택의 기본연산
- create() : 스택을 생성한다.
- push() : 스택에 데이터 추가
- pop() : 스택에서 데이터를 꺼냄
- is_empty(): 스택이 비었는지 확인
push()/pop 구조
A B C D는 모두 연결리스트로 연결되있으며 push()를 할때는 리스트의 맨 앞에
추가를 해줍시다!
소스코드
'IT 공부 > 자료구조' 카테고리의 다른 글
[자료구조/C언어]-⑩ 자료구조 스택/스택 계산기 만들기 (1) | 2017.04.20 |
---|---|
[자료구조/C언어]-⑨ 자료구조 스택/스택 괄호 검사 (0) | 2017.02.16 |
[자료구조 /C언어]-⑦ 이중연결리스트 삭제,삽입,추가,생성 기본예제 (2) | 2017.02.15 |
[자료구조/C언어] - ⑥ 리스트 - 원형연결리스트 삽입 삭제 추가 (0) | 2017.02.15 |
[자료구조/C언어] - ⑥ 리스트 - 단순연결리스트 역순,반전 (0) | 2017.02.15 |