일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- jQuery
- JPA
- Deep Learning
- 자바스크립트
- ES6
- annotation
- 제이쿼리
- javascript
- spring
- 테스트 커버리지
- cache
- AWS
- 스프링
- 하이브리드앱
- kotlin
- C++
- transformer
- log4j2
- Machine Learning
- Test Coverage
- Java
- 리액트
- spring boot
- bean
- 스프링 부트
- data structure
- 구버전
- 자료구조
- react
- 어노테이션
Archives
- Today
- Total
박서희연구소
[Data Structure] Queue(큐) 본문
반응형
1. Queue 구조
Queue 는 작업이 수행되는 특정 순서를 따르는 선형의 구조로, 줄을 서는 행위와 유사함
양쪽의 끝이 열려 있으며, 한쪽의 끝은 데이터를 삽입하고, 다른 한쪽 끝은 데이터를 제거하는 데에 사용함
가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조
FIFO(First-In, First-Out), LILO(Last-In, Last-Out) 방식으로 Stack(스택) 과는 순서가 반대
- 기본 조작법 -
Enqueue : 큐에 데이터를 넣는 기능
Dequeue: 큐에서 데이터를 꺼내는 기능
2. Java 에서의 Queue
java.util 패키지에서 Queue 인터페이스를 제공함
Queue 데이터를 생성하기 위해서는 LinkedList 클래스를 사용해야 함
Enqueue 에 해당하는 기능으로 add() 메서드제공
Dequeue 에 해당하는 기능으로 remove() 메서드 제공
3. Example
public class Queue<T> {
private final ArrayList<T> queue = new ArrayList<T>();
public void enqueue(T item) {
queue.add(item);
}
public T dequeue() {
if (queue.isEmpty()) {
return null;
} else {
return queue.remove(0);
}
}
public static void main(String[] args) {
Queue<Integer> queue = new Queue<Integer>();
queue.enqueue(1);
queue.enqueue(2);
queue.enqueue(3);
queue.enqueue(4);
System.out.println(queue.dequeue());
System.out.println(queue.dequeue());
System.out.println(queue.dequeue());
System.out.println(queue.dequeue());
}
}
- 끝 -
반응형
'○ Programming [Basic] > Data Structure' 카테고리의 다른 글
[Data Structure] Hash(해쉬) (0) | 2023.05.17 |
---|---|
[Data Structure] Linked List(연결 리스트) (0) | 2022.09.27 |
[Data Structure] Stack(스택) (0) | 2022.08.22 |
[Data Structure] Array(배열) (0) | 2022.08.12 |
Comments