• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

큐 구현하기 질문드립니다

24.02.10 16:27 작성 조회수 87

0

public String deQueue()
	{
		if(isEmpty()){
			System.out.println("Queue is Empty");
			return null;
		}
		String data = front.getData();
		front = front.next;
		if( front == null ){  // 마지막 항목
			rear = null;
		}
		return data;
	}

강사님께서 올려주신 코드인데 처음에는 head가 null이니까 isEmpty가 true라서 return null이 되는데

enQueue 실행하고 deQueue를 2번 실행하면 head가 null이 아니라서 isEmpty가 false가 되면서

NullPointerException이 발생합니다. 어떻게 수정하면 좋을까요?

답변 2

·

답변을 작성해보세요.

0

제가 지금 github 에 올라간 Queue 코드를 확인해 보니 다음과 같이 코드가 되어 있습니다.

@Override
	public boolean isEmpty() {
	
		if( front == null && rear == null) {
			return true;
		}
		else 
			return false;
	}

head == null 로 체크하는 부분은 List 인데, 확인해보시면 감사하겠습니다.

minjun님의 프로필

minjun

질문자

2024.02.17

아 그렇네요 제가 GitLab 을 참고했어서 오버라이딩 되어있는 걸 확인을 못했습니다 답변 감사합니다

0

아... isEmpty() 코드를 수정해야겠습니다. 알려주셔서 감사합니다. 코드 수정되면 다시 알려드리겠습니다