본문 바로가기

Programming/Data Structure

Stack

1. Stack

:스택은 자료를 보관하는 방법을 기술한 자료구조 중 하나의 방법이다.

  제한적으로 접근할 수있는 나열 구조로서, 그 접근 방법은 언제나 목록의 끝(top)에서만 일어난다.

  스택의 기본적인 연산은 한쪽 끝에 자료를 집어넣는 Push와, 반대로 데이터를 꺼내는 Pop이 있으며,

  자료의 입력과 출력의 형태가 최근에 넣은값(나중에 넣은값)이 먼저 나오는 구조여서 LIFO(Last In First Out)라고도 불리운다.

  더불어, 스택에 자료가 비었는지 판단하는 isEmpty()와 가득 차있는지 판단하는 isFull() 있다.

 

 Keyword

Description 

 top

  Stack의 끝을 나타내며, 자료의 입력과 출력이 일어나는 곳이다.

 push()

  Stack에 새로운 자료를 넣는 함수(top을 증가후 자료를 삽입)

 pop()

  Stack에서 하나의 자료를 가져오는 함수(top이 가르키는 값을 반환)

 isFull()

  Stack이 가득 차있는지 판별하는 함수.

 isEmpty()

  Stack이 비었는지 판별하는 함수.

 

: Reference 

 

2. Realization Stack with Using Array

:: Source

3. Realization Stack with Using LinkedList

:: Source

:동적할당시 null포인터 반환은 더이상 힙 메모리에 여유가 없다는 뜻이므로, 스택이 가득 차있다고 볼 수있다.

 

다음번에는 다중 스택에 대해서 자료를 남기자..

 

 

'Programming > Data Structure' 카테고리의 다른 글

Multiple Stack  (0) 2012.10.12