오늘은 선형자료구조인 데크의 개념 및 arrayList를 통해서 deque을 간단히 구현 그리고 마지막으로 deque함수에는 어떤 것들이 있는 지 알아보는 시간을 가지려고 한다.
ㆍDeque의 개념
- 큐(Queue)와 스택(Stack)의 특징을 모두 가지고 있는 자료구조
- 양쪽 끝에서 삽입과 삭제가 모두 가능
ㆍArrayList로 Deque구현
import java.util.ArrayList;
public class DequeActive {
ArrayList list;
DequeActive() {
list = new ArrayList<>();
}
private boolean isEmpty() {
if (list.size() == 0) {
return true;
}
return false;
}
private void addFirst(int data) {
list.add(0, data);
}
private void addLast(int data) {
list.add(data);
}
private Integer removeFirst() {
if (isEmpty()) {
return null;
}
return (int)list.remove(0);
}
private Integer removeLast() {
if (isEmpty()) {
return null;
}
return (int)list.remove(list.size() - 1);
}
private void printDeque() {
System.out.println(list);
}
public static void main(String[] args) {
DequeActive deque = new DequeActive();
System.out.println(deque.isEmpty());
deque.addFirst(1);
deque.addFirst(3);
deque.addFirst(5);
deque.addLast(2);
deque.addLast(4);
deque.printDeque();
deque.removeFirst();
deque.printDeque();
deque.removeLast();
deque.printDeque();
}
}
ㆍDeque함수
- boolean addFirst(E e) / boolean offerFirst(E e)
- 덱의 맨 앞에 요소를 추가 - boolean addLast(E e) / boolean offerLast(E e)
- 덱의 맨 뒤에 요소를 추가 - E removeFirst() / E pollFirst()
- 덱의 맨 앞의 요소를 제거하고 반환 - E removeLast() / E pollLast()
- 덱의 맨 뒤의 요소를 제거하고 반환. - E getFirst() / E peekFirst()
- 덱의 맨 앞의 요소를 반환
- 제거 x - E getLast() / E peekLast()
- 덱의 맨 뒤의 요소를 반환
- 제거 x
'Algorithms > 개념' 카테고리의 다른 글
배열과 연결리스트로 Graph 구현 및 기본 개념 정리 (0) | 2024.03.06 |
---|---|
배열과 연결리스트로 Tree 구현 및 기본 개념 정리 (0) | 2024.03.06 |
ArrayList를 이용한 Queue구현 및 기본 개념 정리 (0) | 2024.03.06 |
ArrayList를 이용한 Stack 구현 및 기본 개념 정리 (0) | 2024.03.06 |
연결리스트 구현 및 기본 개념 정리 (0) | 2024.03.06 |