자료구조

큐의 연산 (p63 ~ p64)

치즈샌드CS 2024. 6. 18. 00:38

자료 삽입

큐에 아무런 자료도 입력되지 않은 초기 상태일 때 front와 rear값은

-1로 설정되어있다. 이후 자료가 삽입될 때마다 rear가 1씩 증가하며

한 칸씩 뒤로 이동하게 된다.

 

추가로 front와 rear가 같다는거는 위에 경우처럼

초기 상태이거나 큐에 저장된 자료가 없다는 것을 의미한다.

 

 

이런 식으로 큐에 새로운 자료를 삽입할 때에는 rear 포인터를 먼저

1 증가시켜 자료를 입력 받게 된다.

 

 

큐도 스택과 마찬가지로 제한된 용량을 가지고 있기 때문에 저장 공간이

가득 차 있는 상태에서 추가로 다른 자료를 입력하면 오버플로가 발생한다.

다시 말해, rear와 큐의 크기가 같아지면 더 이상 삽입 연산은 불가능 하다.

 

자료 삭제

큐에서 자료는 입력된 순서에 따라 순서대로 삭제가 이루어진다.

먼저 삭제 연산을 담당하는 front 포인터가 삭제할 자료로 이동하여

삭제한다.

 

 

추가 자료의 삽입이 없는 상태에서 이렇게 자료를 삭제하게 되면

마지막으로 입력된 자료가 가장 마지막에 삭제된다.

 

 

front와 rear의 값이 같다는 것은 더 이상 삭제할 자료가 없다는

것을 의미한다. 이 경우 추가적인 자료 삭제가 불가능하다.

따라서 큐에서 자료의 삽입과 삭제 연산을 수행할 때 먼저

고려할 것은 큐의 크기와 현재 저장되어 있는 큐의 상태이다.

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

단순 연결 리스트 개념 (p72)  (0) 2024.06.19
리스트의 개념 (p71)  (0) 2024.06.19
큐의 개념 (p61 ~ p62)  (0) 2024.06.17
스택의 연산 (p56 ~ p57)  (1) 2024.06.17
스택의 개념 (p55)  (0) 2024.06.16