[자료구조] 큐 (Queue)

zerokick·2023년 4월 13일
0

Data Structure

목록 보기
3/14
post-thumbnail

큐 (Queue)


큐란?

한쪽 끝에서 원소를 넣고(rear) 반대쪽 끝에서 원소를 빼는(front) 자료구조

큐의 특징

  1. FIFO(First-In, First-Out), LILO(Last-In, Last-Out)
  2. 줄을 서는 행위와 유사하다.
input--output
1---
input--output
21--
input--output
321-
input--output
4321
input--output
-432
input--output
--43
input--output
---4

cf)
Enqueue : 큐에 데이터를 넣는 기능
Dequeue : 큐에서 데이터를 꺼내는 기능

  1. 멀티 태스킹을 위한 프로세스 스케줄링 방식을 구현하기 위해 사용됨 (운영체제에서 사용)
  2. 원소의 추가/제거가 O(1)
  3. 가장 앞/뒤의 원소 확인이 O(1)
  4. 제일 앞/뒤가 아닌 나머지 원소들의 검색/변경이 원칙적으로 불가능하다.

큐의 선언

import java.util.LinkedList;
import java.util.Queue;

Queue<Integer> queInt = new LinkedList<Integer>();
Queue<String> queStr = new LinkedList<String>();

큐는 LinkedList 클래스와 함께 사용해야 한다.

큐의 데이터 핸들링

데이터의 추가

queInt.add(1);
queInt.offer(2);

System.out.println(queInt);	// [1, 2]

데이터의 삭제

queInt.poll();		// [2]
queInt.remove();	// []
profile
Opportunities are never lost. The other fellow takes those you miss.

0개의 댓글