// CILCULAR_QUEUE // Wahyu Mirad // 13520241032 // E2 ////////////////////////////////////////////////////////////////
import java.util.Scanner; import java.io.*; class antrian { private int max; private long[] isi; private int kepala; // variabel untuk mengidentifikasi data yang dihapus (data paling awal masuk ke queue) private int ekor; // variabel untuk mengidentifikasi data paling akhir masuk ke queue //-------------------------------------------------------------- public antrian(int n) { // constructor max = n; isi = new long[max]; kepala = max-1; ekor = max-1; } //-------------------------------------------------------------- public boolean isEmpty() { // bernilai true jika queue kosong return (kepala == ekor); } //-------------------------------------------------------------- public boolean isFull() { // bernilai true jika queue penuh int next; if(ekor == max-1) next=0; else next = ekor+1; return (next == kepala); } //-------------------------------------------------------------- public void enQueue(long j) { // memasukkan data di bagian paling belakang dari queue if(ekor == max-1) // jika ekor sama dengan jumlah array -1 ekor = 0; // maka nilai ekor diubah sama dengan -1 else ekor++; isi[ekor] = j; // increment ekor dan masukkan data } //-------------------------------------------------------------- public void deQueue() { // ambil data paling depan dari queue if(kepala == max-1) // jika kepala sama dengan jumlah array kepala = 0; // maka nilai kepala diubah sama dengan 0 else kepala++; //System.out.print(" Kepala =>"); } //-------------------------------------------------------------- public long data_ambil() { return isi[kepala]; } //-------------------------------------------------------------- public long peek() { // melihat data paling depan dari queue int kpl=0; if(kepala == max-1) kpl = 0; else { kpl = kepala; kpl++; } return isi[kpl]; } //-------------------------------------------------------------- /* public short ekor () { int ekr=0; if(ekor== max-1) ekr = 0; else{ ekr = ekor; ekr++; } return isi[ekr]; }*/ /* [ 2 ] [ 4 ] [ 1 ] <= ekor [ 9 ] <= kepala [ ] */ //-------------------------------------------------------------- public void tampil() { // menampilkan isi dari queue int i; //ekor for(i=0; i
} // end class javaCircularQueue => dikompeel ajhaa

