자료구조

스택의 연산 (p56 ~ p57)

치즈샌드CS 2024. 6. 17. 00:37

자료 삽입

스택에서 top의 초기값은 -1이며, 자료가 삽입될 때마다 1씩 증가한다.

이때 새롭게 입력할 자료를 스택의 가장 위에 추가하고, 기존에 저장된

자료들은 추가한 자료의 아래에 위치하게 된다.

 

 

스택 안에 여유 공간이 있을 결우 얼마든지 자료를 추가할 수 있지만,

스택의 크기보다 더 많은 자료를 입력할 수는 없다.

 

자료 삭제

스택에서 top은 자료가 삭제될 때마다 1씩 감소한다. 즉, 삭제 연산을 수행할 경우

스택의 가장 위에 입력된 자료를 먼저 제거하고 제거된 자료의 아래에 있던

자료가 가장 위에 위치하게 된다.

이런 식으로 자료를 삭제하게 되면 처음에 삽입된 자료가 가장 마지막에 삭제된다.

 

 

오류 발생 조건

스택 구조는 제한된 저장 공간을 사용하기 때문에 연산을 수행할 때는 반드시

스택의 크기와 상태를 고려해야 한다.

 

(1) 오버플로(overflow)

자료를 저장할 수 있는 스택 공간이 제한적이기 때문에 자료가 가득 차 있는

상태에서는 새로운 자료를 추가할 수 없다.

 

 

(2) 언더플로(underflow)

어떠한 자료도 저장되어 있지 않은 빈 스택 공간에서 자료의 삭제를 요청할

경우 삭제할 자료가 없으므로 언더플로가 발생한다.

 

 

top 포인터와 초기값(-1)이 같다는 것은 스택에서 저장된 자료가 아무것도

없다는 것을 의미한다. 따라서 이 경우에 자료의 삽입은 가능하지만

삭제는 불가능 하다.

'자료구조' 카테고리의 다른 글

큐의 연산 (p63 ~ p64)  (0) 2024.06.18
큐의 개념 (p61 ~ p62)  (0) 2024.06.17
스택의 개념 (p55)  (0) 2024.06.16
1차원 배열 (p46 ~ p48)  (0) 2024.06.15
배열의 개념 (p44 ~ p45)  (1) 2024.06.13