[자료구조] 덱(Deque) by JS
📄 덱(Deque)
덱(Deque)은 데이터의 삽입과 제거를 head와 tail 두 곳에서 자유롭게 할 수 있는 자료구조입니다.
📄 덱의 추상자료형
printAll
- 모든 데이터 출력addFirst
- head에서 데이터 제거removeFirst
- head에서 데이터 제거addLast
- tail에 데이터 삽입removeLast
- tail엣 데이터 제거isEmpty
- 리스트가 비었는지 체크
📄 자바스크립트로 구현해보기
작성헀던 연결리스트로 구현해보았습니다.
import { DoublyLinkedList } from "./DoublyLinkedList.mjs";
class Deque {
constructor() {
this.list = new DoublyLinkedList();
}
printAll() {
this.list.printAll();
}
addFirst(data) {
this.list.insertAt(0, data);
}
removeFirst() {
return this.list.deleteAt(0);
}
addLast(data) {
this.list.insertAt(this.list.count, data);
}
removeLast() {
return this.list.deleteLast();
}
isEmpty() {
return this.list.count == 0;
}
}
export { Deque };
Leave a comment