Latihan 1 dari materi Deque (Double-Ended Queue) di Struktur Data — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Lengkapi class Deque di starter dengan lima method:
addFront(item): tambah item di depan.
addBack(item): tambah item di belakang.
removeFront(): ambil dan kembalikan item paling depan.
removeBack(): ambil dan kembalikan item paling belakang.
size(): kembalikan jumlah item.
Kalau deque kosong, removeFront() dan removeBack() mengembalikan undefined, dan size() tetap 0, gak boleh minus.
Cara yang disarankan: object dengan penanda head dan tail seperti class Deque di materi, supaya semua operasi O(1) tanpa unshift() atau shift().
Kode di bawah class jangan diubah: dia addBack 'B', addBack 'C', addFront 'A', lalu memanggil size, removeFront, removeBack, dan size lagi. Kalau benar, console mencetak empat baris ini:
3
A
C
1
Class-mu juga dicoba dengan deque baru yang diisi dan diambil dari dua ujung, dan dengan deque yang masih kosong.