궁금해서 혹은 재밌어서 만들어보는 JAVA

독학사 공부하다 만들어본 큐(Queue)

고유빙글 2021. 4. 16. 06:46
public class Queue {

	static int rear = -1;
	static int front = 0;
	static Object[] arr = new Object[5];
	static int n = arr.length;

	public static void main(String[] args) {

		enQueue("A");
		enQueue("B");
		enQueue("C");
		enQueue("D");
		enQueue("E");

		System.out.println(deQueue());
		System.out.println(deQueue());
		System.out.println(deQueue());
		System.out.println(deQueue());
		System.out.println(deQueue());
		

	}

	private static void enQueue(Object o) {

		if (rear >= n-1) {
			System.out.println("Queue if full");
		} else {
			rear += 1;
			arr[rear] = o;
		}

	}

	private static Object deQueue() {
		Object o = null;
		if (front == rear) {
			System.out.println("Queue is empty");
		} else {
			o = arr[front];
			front += 1;
		}
		return o;
	}

}

 

 

큐를 만들어보았다. 근데 왜 

o = arr[front]; 행에서 실행이 안되는지 좀 탐색해봐야겠다.

 

-----------------------------------------------------------------------------------------------------------------------------------

deQueue의 초기값이 -1이라 -1인덱스에서 출력을 해서 그랬다. 

-----------------------------------------------------------------------------------------------------------------------------------