오늘은 선형자료구조인 큐의 개념 및 arrayList를 통해서 queue을 간단히 구현 그리고 마지막으로 queue함수에는 어떤 것들이 있는 지 알아보는 시간을 가지려고 한다.
ㆍQueue의 개념
- 데이터를 차곡차곡 쌓아 올리는 형태의 자료구조
- " First In, First Out" (FIFO) : 가장 최근에 추가된 데이터가 가장 먼저 제거되는 원리
ㆍ큐의 구성
- Rear
- 큐에 끝 - Front
- 큐에 시작
ㆍArrayList로 Queue구현
import java.util.ArrayList;
public class QueueActive {
ArrayList list;
QueueActive() {
list = new ArrayList();
}
public static void main(String[] args) {
QueueActive queue = new QueueActive();
queue.push(1);
queue.push(3);
queue.push(5);
queue.push(2);
queue.push(4);
System.out.println(queue.peek());
queue.printQueue();
System.out.println(queue.pop());
System.out.println(queue.pop());
System.out.println(queue.peek());
queue.printQueue();
}
private boolean isEmpty() {
if (list.size() == 0) {
return true;
}
return false;
}
private void push(int data) {
list.add(0, data);
}
private Integer pop() {
if (isEmpty()) {
return null;
}
return (int)list.remove(list.size() - 1);
}
private Integer peek() {
if (isEmpty()) {
return null;
}
return (int)list.get(list.size() - 1);
}
private void printQueue() {
System.out.println(list);
}
}
ㆍQueue함수
- offer(E e)
- 큐에 요소를 추가 - E poll()
- 큐에서 가장 앞에 있는 요소를 제거하고 반환 - E peek()
- 큐에서 가장 앞에 있는 요소를 반환
- 제거 x - int size()
- 큐에 포함된 요소의 수를 반환 - boolean isEmpty()
- 큐가 비어 있는지 여부를 확인 - void clear()
- 큐의 모든 요소를 제거
'Algorithms > 개념' 카테고리의 다른 글
배열과 연결리스트로 Tree 구현 및 기본 개념 정리 (0) | 2024.03.06 |
---|---|
ArrayList를 이용한 Deque구현 및 기본 개념 정리 (0) | 2024.03.06 |
ArrayList를 이용한 Stack 구현 및 기본 개념 정리 (0) | 2024.03.06 |
연결리스트 구현 및 기본 개념 정리 (0) | 2024.03.06 |
자바 배열을 활용한 ArrayList 구현 및 기본 개념 정리 (0) | 2024.03.06 |