대기열이란 무엇입니까?


대기열이란 무엇입니까? 쉽게 말해 줄을 서서 기다리는 것입니다.

보통 줄을 서면 들어온 순서대로 들어갑니다.


선입선출.

=> 선입선출(FIFO)


앞에 앞쪽존재하다 삭제 계산만 수행

대기열 끝 뒤쪽존재하다 끼워 넣다 계산만 수행합니다.

대기열을 단계별로 구축

삽입(5) – 삽입(2) – 삽입(3) – 삽입(7) – 삭제() – 삽입(1) – 삽입(4) – 삭제() 프로세스를 살펴보겠습니다.

삽입(5)

5

삽입(2)

5 2

삽입(3)

5 2 3

삽입(7)

5 2 3 7

삭제()

2 3 7

삽입(1)

2 3 7 1

삽입(4)

2 3 7 1 4

삭제()

3 7 1 4

=> 삽입된 순서대로 데이터가 쌓이고, 삭제된 순서대로 데이터가 내보내진다.

코드로 구현

Queue<Integer> q = new LinkedList<>();

// 삽입(5) - 삽입(2) - 삽입(3) - 삽입(7) - 삭제() - 삽입(1) - 삽입(4) - 삭제()
q.offer(5);
q.offer(2);
q.offer(3);
q.offer(7);
q.poll();
q.offer(1);
q.offer(4);
q.poll();

while (!
q.isEmpty()) { System.out.print(q.poll() + " "); }

대기열 작업을 위한 기능

데이터 추가

– q.추가()

boolean add(E e);

– q.offer()

boolean offer(E e);

<共同点>

대기 중 끝에 값을 추가하다 성공 도시 참을 반환하다.

<区别>

대기열의 용량 제한으로 인해 더 추가할 수 없는 경우

q.추가(): 잘못된 상태 예외 세대

q.제안(): 거짓 반환

데이터 삭제

-q.remove()

E remove();

– q.poll()

E poll();

<共同点>

대기열의 첫 번째 요소 삭제하다 성공 도시 그 값을 반환하다.

<区别>

대기열이 비어 있는 경우

묻다.

제거하다():
NoSuchElementException 예외 세대

묻다.

투표():
빈 반환

데이터의 첫 번째 요소 확인

– q.요소()

E element();

– q.peek()

E peek();

<共同点>

대기열의 첫 번째 요소 값 반품하다.

<区别>

대기열이 비어 있는 경우

묻다.

요소():
NoSuchElementException 예외 세대

묻다.

나타나다():
빈 반환

구성

추가(), 제거(), 요소()그리고 공급(). 투표(), 엿보기()사이의 차이

이것은 문제가 있는 상황에서 예외를 생성하거나 false 또는 null을 반환하는 것의 차이입니다.

인용하다

코딩테스트입니다 – 나동빈