반응형
삽입(Push)
Top = Top + 1 // 스택 포인터(Top)를 1 증가시킨다.
If Top > M Then Overflow // 스택 포인터가 스택의 크기보다 크면 Overflow
Else
X(Top) Item // 그렇지 않으면 Item이 가지고 있는 값을 스택의 Top 위치에 삽입한다.
M : 스택의 크기
Top : 스택 포인터
X : 스택의 이름
Overflow :
스택으로 할당받은 메모리 부분의 마지막 주소가 M번지라고 할 때, Top Pointer의 값이 M보다 커지면 스택의 모든 기억장소가 꽉 채워져 있는 상태이므로 더 이상 자료를 삽입할 수 없어 Overflow를 발생시킨다.
삭제(Pop)
If Top = 0 Then // 스택 포인터가 0이면 스택의 바닥이어서 더 이상 삭제할 자료가 없으므로 Underflow를 처리한다.
Underflow
Else
Item X(Top) // Top 위치에 있는 값을 Item으로 옮기고 스택 포인터를 1 감소 시킨다.
Top = Top - 1
Underflow :
Top Pointer가 주소 0을 가지고 있다면 스택에는 삭제할 자료가 없으므로 Underflow를 발생시킨다.
* 스택에 기억되어 있는 자료를 삭제시킬 때는 제일 먼저 삭제할 자료가 있는지 없는지 부터 확인해야 합니다.
반응형
'전공공부 > 데이터베이스' 카테고리의 다른 글
54. 트리(Tree) (0) | 2020.02.13 |
---|---|
30. 정규화 (Normalization) 31.Anomaly(이상)의 개념 및 종류 32. 정규화 과정 (0) | 2020.02.12 |
50. 스택(Stack) (0) | 2020.02.12 |
39. 트랜잭션의 정의 ~ 44. 병행 제어(Concurrency Control) (0) | 2020.02.12 |
관계해석 (0) | 2020.02.02 |
댓글