자료구조론 공부하면서 찾아보는데 front 커서랑 rear 커서 따로 둬서 구현해서

push 하면 rear 하나씩 밀고

pop 하면 front 하나씩 밀던데


이렇게 하면


     ArrayQuene quene = new ArrayQuene();
   
     for (int i = 0; i < 999; i++) {
       quene.push(5);
     }
     
     for (int i = 0; i < 999; i++) {
      quene.pop();
     }

     System.out.println(quene.queueisEmpty());
     System.out.println(quene.queueisFull());

이런식으로 넣었을떄


true
true

이렇게 에러나잖아


그렇다고 pop할때마다 자료 전체를 한칸씩 땡기면 시간복잡도 망하는데

queue 이상적으로 구현하는 방법 없음?

강의랑 다 뒤져봐도 저렇게 구현하네