NAVER

사용자 링크

Q&A 영역

질문 Circular queue...
비공개 조회수 65 작성일2022.06.04
Circular queue 에서
Head 와 tail 이 같은 것을 가리킨다고 하면 empty
즉 배열이비어있다고 설명하는데, 만약 초기상태에서
데이터 삽입을 반복 수행 후 tail이 계속 증가되어 초기 인덱스로 돌아와서 tail이 head와 같아질 경우가 생기는데 이러면
Head 와 tail이 같을경우 무조건적으로 비어있다고는 말할 수 없지 않나요?
프로필 사진

답변자님,

정보를 공유해 주세요.

2개 답변
1번째 답변
프로필 사진
ncode
은하신 열심답변자 eXpert
연구원 #coding #multiLang C, C++ 6위, 웹프로그래밍 23위, 프로그래밍 6위 분야에서 활동

tail 이 돌아서 head 와 겹치게 되면 ... 안되죠.

head와 tail 이 겹치는 경우는 empty 상태일 뿐이고 queue 가 꽉차서 하나 더 enque할

경우 tail 과 head가 겹치게 되는 상황이라면 에러나 예외를 발생시켜야 합니다.

결론은 queue 구현을 그렇게 하면 안되는 것이죠.

위의 경우 최종적으로 13 이 head, 5 가 tail 인데 여기서 enqueue 를 또 하게된다면?

그런 일이 생기지 않도록 구현해야 합니다.

2022.06.04.

  • 채택

    질문자가 채택한 답변입니다.

2번째 답변
프로필 사진
삭제된 답변
작성자가 직접 삭제한 답변입니다.
2022.06.04.