"스택"의 두 판 사이의 차이
(새 문서: '''스택'''(stack)은 후입선출(後入先出, Last In First Out; LIFO)의 자료구조이다. 데이터 저장소에서 새로 들어오는 데이터의 위치가 저장소의 끝...) |
|||
1번째 줄: | 1번째 줄: | ||
− | '''스택'''(stack)은 후입선출(後入先出, Last In First Out; LIFO)의 자료구조이다. 데이터 저장소에서 새로 들어오는 데이터의 위치가 저장소의 끝 부분(Top 혹은 Top pointer라고 한다)이고, 써먹기 위해 내보내는 데이터 역시 저장소의 끄트머리에서 나간다. 입력은 push, 출력은 pop이다. peek는 Top의 위치에 있는 데이터를 확인하는 것을 말한다.<ref name='stack'>나무위키,〈[https://namu.wiki/w/%EC%8A%A4%ED%83%9D(%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0) 스택(자료구조)]〉</ref> | + | '''스택'''(stack)은 후입선출(後入先出, Last In First Out; LIFO)또는 선입후출(先入後出, First in Last out)의 자료구조이다. 데이터 저장소에서 새로 들어오는 데이터의 위치가 저장소의 끝 부분(Top 혹은 Top pointer라고 한다)이고, 써먹기 위해 내보내는 데이터 역시 저장소의 끄트머리에서 나간다. 입력은 push, 출력은 pop이다. peek는 Top의 위치에 있는 데이터를 확인하는 것을 말한다.<ref name='stack'>나무위키,〈[https://namu.wiki/w/%EC%8A%A4%ED%83%9D(%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0) 스택(자료구조)]〉</ref> |
== 특징 == | == 특징 == |
2020년 8월 11일 (화) 17:04 판
스택(stack)은 후입선출(後入先出, Last In First Out; LIFO)또는 선입후출(先入後出, First in Last out)의 자료구조이다. 데이터 저장소에서 새로 들어오는 데이터의 위치가 저장소의 끝 부분(Top 혹은 Top pointer라고 한다)이고, 써먹기 위해 내보내는 데이터 역시 저장소의 끄트머리에서 나간다. 입력은 push, 출력은 pop이다. peek는 Top의 위치에 있는 데이터를 확인하는 것을 말한다.[1]
특징
- 한 쪽으로만 들어가기 때문에 처음 들어간 것은 밑에 깔려서 나중에 나올 수 밖에 없다. (First In Last Out=FILO)
- 스택에 자료를 넣는 것을 PUSH라고 한다.
- 스택에 자료를 빼내는 것을 POP이라고 한다.
- 스택에 제일 위에 자료를 TOP이라고 한다.
- 스택에 제일 아래 자료를 BOTTOM이라고 한다.
- 스택이 담을 수 있는 사이즈 이상을 PUSH 할 때는 Overflow가 발생한다.
- 스택에서 자료가 전부 POP되고 자료가 더이상 없는 공백 상태일 때, POP이 호출되면 Underflow가 발생한다.[2]
입/출력 방식
[3]
1. 가장 먼저 5를 PUSH 한다. 스택 자료 구조에 가장 아래에 위치하게 된다.
2. 차례대로 PUSH 4, PUSH 3을 한 결과이다.
3. POP 2회를 실시하게 되면 출력 결과는 3,4가 된다. 즉 3은 가장 나중에 입력 되었지만 가장 먼저 출력이 된다.[3]
각주
- ↑ 나무위키,〈스택(자료구조)〉
- ↑ 라이언,〈자료구조 스택(Stack)이란?〉, 2017년 11월 27일
- ↑ 3.0 3.1 Lkt_Programmer,〈스택(Stack) 자료 구조 〉, 2017년 9월 28일