큐, 이동큐, 원형큐의 차이변수들의 의미

2022. 9. 7. 06:00Study/Programming

반응형

 

큐는 선입선출의 자료 구조이다. 먼저 들어간 원소가 먼저 나온다.

일반 큐는 배열 형태로 저장될 때 배열의 크기만큼 추가할 경우 삭제하더라도 더 이상 추가 할 수 없다.

 

이런 단점을 극복한 게 이동큐이다.

이동큐는 원소가 삭제되면 나머지 원소들이 한칸씩 이동하면서 추가될 수 있도록 공간을 확보할 수 있는 자료구조이다.

하지만 매번 삭제시 이동해야한다는 단점이 있다.

 

원형큐의 단점을 극복한 게 원형큐이다.

원형 큐는 삽입과 삭제 시 인덱스가 배열의 크기를 넘어설 경우 0부터 시작한다.

 

큐에서는 front와 rear라는 변수가 사용된다.

front는 삭제시 rear은 삽입시 사용된다.

 

일반 큐

- if(front==rear) queue_full : 큐가 가득참

- if(rear==0) queue_empty : 큐가 비어있음

- if(rear>=n) not_push : 추가할 수 없음

 

이동 큐

- 일반 큐와 변수의 사용은 같지만 삭제시 원소들이 이동

 

원형 큐

- if(front==rear) queue_full : 큐가 가득참

- if(front==-1) queue_empty : 큐가 비어있음

반응형