Queue adalah structure data abstrak, agak mirip dengan Stacks. Tidak seperti Stacks, queue terbuka di kedua ujungnya. Satu ujung digunakkan untuk memasukkan data(enqueue) dan ujung yang lainnya digunakkan untuk menghapus data(dequeue). Queue mengikuti metode First-In-First-Out, yaitu item data yang disimpan terlebih dahulu akan diakses terlebih dahulu.
Seperti Stacks, queue dapat di implementasikan menggunakkan array, pointers dan structure
## Operasi Dasar Operasi queue melibatkan menginisialisasi atau mendefinisikan antrian, menggunakkan dan kemudian menghapusnya dari memori. Berikut beberapa contoh operasi dasar queue :
enqueue() - menambahkan(menyimpan) item ke antrian.
dequeue() - menghapus(mengakses) item dari antrian.
peek() - mendapatkn elemen di depan antrian tanpa menghapusnya.
isfull() - memeriksa apakah antrian penuh
isempty() - memeriksa apakah antrian kosong
Queue sebagai Abstrack Data Type (ADT)
Penjelasan tentang ADT ada di sini
Arti dari tipe data abstrak dengan jelas mengatakan bahwa untuk struktur data menjadi abstrak, itu harus memiliki karakteristik yang disebutkan di bawah ini:
Pertama, harus ada cara tertentu di mana komponen terkait satu sama lain
Kedua, pernyataan untuk operasi yang dapat dilakukan pada elemen tipe data abstrak harus ditentukan
Jadi untuk mendefinisikan Queue sebagai tipe data abstrak, ini adalah kriteria berikut:
Inisialisasi antrian agar kosong
Periksa apakah antrian kosong atau tidak
Periksa apakah antrian penuh atau tidak
Masukkan elemen baru setelah elemen terakhir dalam antrian, jika antrian tidak penuh
Ambil elemen antrian pertama, jika tidak kosong
Hapus elemen pertama dalam antrian, jika tidak kosong
sumber :https://ervinismu.github.io/