본문 바로가기
정보처리산업기사 필기 공부/데이터베이스

042 스택의 삽입 ( Push ) 과 삭제 ( Pop )

by 개발자 김맹고 2021. 5. 22.

 

삽입 ( Push )

Top = Top + 1
If Top > M Then
   Overflow
Else
   X(Top) ← Item
스택 포인터(Top)를 1 증가시킨다.
스택 포인터가 스택의 크기보다 크면 Overflow

그렇지 않으면 Item이 가지고 있는 값을 스택의
Top 위치에 삽입한다.
  • M : 스택의 크기
  • Top : 스택 포인터
  • X : 스택의 이름
  • Overflow : 스택으로 할당받은 메모리 부분의 마지막 주소가 M번지라고 할 때, Top Pointer의 값이 M보다 커지면 스택의 모든 기억장소가 꽉 채워져 있는 상태이므로 더 이상 자료를 삽입할 수 없어 Overflow를 발생시킴

 

삭제 ( Pop )

If Top = 0 Then
      Underflow
Else
   Item ← X(Top)
   Top = Top - 1
스택 포인터가 0이면 스택의 바닥이어서 더 이상
삭제할 자료가 없으므로 Underflow를 처리한다.
그렇지 않으면
Top 위치에 있는 값을 Item으로 옮기고
스택 포인터를 1 감소시킨다.
  • Underflow : Top Pointer가 주소 0을 가지고 있다면 스택에는 삭제할 자료가 없으므로 Underflow를 발생시킴

※ 스택(Stack)에 기억되어 있는 자료를 삭제시킬 때는 제일 먼저 삭제할 자료가 있는지 없는지부터 확인해야 한다.


길벗알앤디 (강윤석, 김용갑, 김우경), 정보처리 산업기사 필기 1권 핵심요약, 길벗(2019), p 47.
반응형

'정보처리산업기사 필기 공부 > 데이터베이스' 카테고리의 다른 글

044 데크 ( Deque )  (0) 2021.05.22
043 큐 ( Oueue )  (0) 2021.05.22
041 스택 ( Stack )  (0) 2021.05.22
040 연결 리스트 ( Linked List )  (0) 2021.05.22
039 자료 구조의 분류  (0) 2021.05.22

댓글