자료구조 & 알고리즘/큐 - 원형큐

이번 게시물은 제가 좋아하는 유튜버(간다효)처럼 제목을 지어봤습니다. 원형큐에서 큐의 길이를 구할 때는 두가지 경우로 나눠서 생각해봐야 합니다. 1. front가 앞에, rear가 뒤에 있는 상황 2. rear가 앞에, front가 뒤에 있는 상황 소스코드로 나타내면 이렇게 볼 수 있는데요, int size; if (rear - front < 0) { size = rear - front + arr.length; } else { size = rear - front; } 공식처럼 생각하면 그렇구나, 하고 넘어갈 수 있지만 .. 머리속으로 떠올리면 또 쉽게 이해가 되지 않아서.. 직접 그려보았습니다.. rear - front가 음수일 경우는 rear가 배열의 앞쪽에, front가 배열의 뒷쪽에 위치한 상태로 ..
- 원형 큐 구현 예시 템플릿 class MyQueue { MyQueue (int size) { } public boolean isEmpty() { } public boolean isFull() { } public void enqueue(int data) { } public Integer dequeue() { } public void printQueue() { } } class MyQueue { int[] arr; //배열로 만든 원형큐에서 front는 항상 비워둔다 int front; int rear; MyQueue(int size) { //front를 비워두므로 길이 + 1 arr = new int[size + 1]; front = 0; rear = 0; } public boolean isEmpty(..
꾸준함의 미더덕
'자료구조 & 알고리즘/큐 - 원형큐' 카테고리의 글 목록