Membuat Queue(Antrian) dengan Java


Queue dapat diartikan sebagai antrian. Queue dalam struktur data merupakan suatu data yang tersusun dengan konsep antrian. Dalam suatu antrian, yang pertama datang itulah yang pertama dilayani. Konsep dari queue sendiri adalah FIFO (First In First Out), data yang pertama masuk akan keluar pertama kali.

Operasi – operasi dalam queue antara lain :

Enqueue : Memasukkan data ke dalam queue
Dequeue : Mengeluarkan data terdepan dari queue
Clear : Menghapus seluruh queue
IsEmpty : Memeriksa apakah queue kosong
IsFull : Memeriksa apakah queue penuh

Berikut ini adalah implementasi queue menggunakan bahasa pemrograman Java :
- Buat kelas dengan nama Queue
/**
*
* @author Wim Sonevel
*/
public class Queue {

int data[];
int head = 0;
int tail = -1;

public Queue(int size) {
data = new int[size];
}

public boolean isEmpty(){
if(tail==-1){
return true;
}else{
return false;
}
}

public boolean isFull(){
if(tail==data.length-1){
return true;
}else{
return false;
}
}

public void Enqueue(int dataBaru){
if(isEmpty()){
tail = head;
data[tail] = dataBaru;
}else if(!isFull()){
tail++;
data[tail] = dataBaru;
}else if(isFull()){
System.out.println("antrian sudah penuh");
}
}

public int Dequeue(){
int temp = data[head];
for(int i=head;i<=tail-1;i++){
data[i] = data[i+1];
}
tail--;
return temp;
}

public void tampilkan(){
if(!isEmpty()){
int index = head;
while(index <= tail){
System.out.print("|"+data[index]+"| ");
index++;
}
System.out.println();
}else{
System.out.println("Kosong");
}
}

}

- Buat kelas dengan nama QueueApp, kemudian instance objek dari kelas Queue.
/**
*
* @author Wim Sonevel
*/
public class QueueApp {
public static void main(String[] args) {
Queue queue = new Queue(3);
queue.Enqueue(1);
queue.Enqueue(2);
queue.Enqueue(3);
queue.tampilkan();
queue.Dequeue();
queue.tampilkan();
queue.Dequeue();
queue.tampilkan();
queue.Dequeue();
queue.tampilkan();
}
}

Output :
|1| |2| |3|
|2| |3|
|3|
Kosong

Post a Comment

Previous Post Next Post