ian의 개발일기장

2. 스택(stack) 본문

Computer Science/Data Structure

2. 스택(stack)

ian90 2018. 10. 1. 22:46

1. 개념


스택(Stack)은 제한적으로 접근할 수 있는 나열구조이고, LIFO(Last In Firist Out)구조로 되어 있다. 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형구조이다. 예를 들어, 동전 케이스에 동전을 넣고, 빼는건 한 쪽 끝에서만 자료를 넣거나 빼는 스택과 비슷하다.


데이터가 들어오고 나가는 곳은 저장소의 끝 부분에 있으며, Top이라고 부른다. 자료를 밀어넣는 것을 Push라 하며, 자료를 꺼내는 것을 Pop이 부른다.



2. 구현


저장소를 배열로 활용했다.


  • push - data를 밀어넣는 것으로, push메소드를 이용했다.
  • pop - 최근에 들어온 data를 꺼내야 하므로, pop메소드를 이용했다.
  • top - 데이터가 들어오고, 나가는 곳의 위치이며, 배열에서 맨마지막 원소가 된다.
  • isEmpty - 빈 자료 인가 확인하는 것이다. 자료가 없으면 true, 있으면 false가 나온다.
  • size - Stack의 자료의 개수를 return 해준다.
  • pritn - Stack의 데이터를 보여준다


출처 - 나무위키, 유투브, 위키피디아(영어), 위키피디아(한글)

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

3. 연결리스트(linked list)  (0) 2018.10.06
1. 큐(Queue)  (0) 2018.09.29