Jumat, 25 Mei 2012

Antrian di Java

Source code :


package testpackage;

public class Antrian {
private static class Simpul{
int item;
Simpul berikut;
}
private static Simpul kepala;
private static Simpul buntut;

public static void main(String[] args){
//menentukan nilai dari komponen simpul
Simpul a = new Simpul();
a.item = 10;
Simpul b = new Simpul();
b.item = 15;
a.berikut = b;
//System.out.println(a.item);
//System.out.println(b.item);
//memunculkan antriannya menggunakan while
while(a!=null){
System.out.println(a.item);
a = a.berikut;
}
push(5);
push(6);
push(7);
push(8);
delete(7);
int c = pull();
//System.out.println(pull());
Simpul temp = kepala;
while(temp!=null){
System.out.println(temp.item);
temp = temp.berikut;
}
}
//menambahkan record ke dalam antrian
public static void push(int n){
Simpul atasBaru = new Simpul();
atasBaru.item = n;
if(kepala==null){
kepala = atasBaru;
buntut = kepala;
}else{
buntut.berikut = atasBaru;
buntut = atasBaru;
}
}
public static int pull(){
if(kepala!=null){
int itemAtas;
if(kepala!=buntut){
itemAtas = kepala.item;
kepala = kepala.berikut;
return itemAtas;
}else if(kepala==buntut){
itemAtas = buntut.item;
kepala = null;
buntut = null;
return itemAtas;
}else{
return 0;
}
}else{
return 0;
}
}
 
public static void delete(int n){
if(kepala!=null){
Simpul temp = kepala;
while(temp.berikut!=null){
if(temp.item==n){
kepala = temp.berikut;
break;
}else{
if(temp.berikut.item==n){
if(temp.berikut==buntut){
buntut = temp;
temp.berikut = null;
}else{
temp.berikut = temp.berikut.berikut;
}
break;
}else{
temp = temp.berikut;
}
}
}
}
}
}

Tidak ada komentar:

Posting Komentar