자료구조론 공부하면서 찾아보는데 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 이상적으로 구현하는 방법 없음?
강의랑 다 뒤져봐도 저렇게 구현하네
deque
ArrayDeque 쓰면 빠르다 LinkedList 보다도.
걍 deque 써야겠네 ㄱㅅㄳ
DoubleLinkedList로 구현되어있음 대부분은