Queue

황상익·2023년 10월 18일
0

자료구조 정리

목록 보기
2/13

<큐란?>
줄을 지어 순서대로 데이터를 처리하는 것을 큐.
큐 데이터는 일시적으로 쌓아두기 위한 자료구조, 스택과는 다르게 FIFO(FirstInFirstOut)
즉, 그대로 먼저 들어온 데이터가 가장 먼저 나가는 구조

<큐의 특징>
1. firstinfirstot
-> FIFO에 대해 알아보고 가겠다.

위에서 말했듯 먼저 들어온게 우선 나가는 것이다.

  1. 큐는 한 쪽 끝은 프런트(front)로 정하여 삭제 연산만
  2. 다른 한 쪽 끝은 리어(rear)로 정하여 삽입 연산만
  3. 그래프 넓이에 사용
  4. 컴퓨터 버퍼에서 주로 사용, 처리 못하게 될 경우 버퍼를 만들어 대기

<큐 사용법>
1. 큐 선언
Queue queue = new LinkedList<>();
Queue queue1 = new LinkedList<>();

큐 사용시 LinkedList를 활용해서 생성.

  1. 큐 값 추가
    Queue stack = new LinkedList<>();
    stack.add(1);
    stack.add(2);
    stack.add(3);

큐에서 값을 추가 하고 싶다면 add or offer라는 메서드 활용
add 메소드 경우 삽입에 성공하면, true / 실패하면 큐에 여유 공간이 없기 때문에 Exception을 발생

  1. 큐 값 삭제
    stack.poll(); // 첫번째 값을 반환, 제거 -> 비어있다면 null
    stack.remove(); // 큐에 첫번쨰 값 제거
    stack.clear(); // 큐 초기화

큐에서 값을 제거 하고 싶다면, poll 이나 remove를 사용.
poll 함수는 큐가 비어있다면 null, pop을 하면 가정 앞쪽 원소제거

  1. 가장 먼저 들어간 값 출력
    stack.peek(); // 가장 먼저 들어간 값 참조
profile
개발자를 향해 가는 중입니다~! 항상 겸손

0개의 댓글