Judul Psting : linked list java berkepala dan berekor struktur data
linked list java berkepala dan berekor struktur data
baca dengan kesabaran ya... :) hehe soalnya nih sudah lebih disederhanain loh...class containers{
class containers ini akan digunakan sebagai gerbong yang memuat data dan pointer ke
gerbong yang berikutnya. data-data itu seperti dibawah yaitu nama,nim,dan lokal
sedangkan next itu digunakan sebagai pointer atau penunjuk ke gerbong berikutnya
atau dengan katalain kita dapat membuat gerbong baru dengan next tersebut
sekaligus next tersebut jadi pointer atau penunjuknya atau bisa juga disebut alamat.
kurang jelas datang ke rumah ane... (:D canda hehe...)
containers next;// ini adalah penunjuk atau alamat gerbong selanjutnya
String nim;// ini adalah variable untuk menyimpan data nim
String nama;// ini adalah variable untuk menyimpan data nama
String lokal;// ini adalah variable untuk menyimpan data lokal
public containers(String setNama,String setNim,String setLokal){
/** public containers ini adalah method constructor dari class cotainers
* dengan paramater String setNama,String setNim,String setLokal
* yang gunanya untuk mengisi data-data nim ,nama dan lokal.
*/
nim=setNim;
nama=setNama;
lokal=setLokal;
next=null;
}
}
public class Linked_list {
/** class ini digunakan untuk menciptakan gerbong dari class containers, atau
* bisa juga disebut class yang digunakan untuk menciptakan deretan gerbong
* yang terbuat dari class containers.
*/
containers contain;/**ini adalah pendeklarasian variable contain dengan tipe
data Abstrak yang dibuat dari class cntainers diatas tadi*/
/**method tambahAkhir dibawah ini digunakan untuk menciptakan sebuah gerbong
* yg dibentuk dari class containers ,dan method ini memiliki
* paramater String nama,String nim,String setLokal
* method ini juga sekaligus sebagai pengisi data-datanya yg telah
* dibahas diatas tadi.
*/
public void tambahAkhir(String nama,String nim,String setLokal){
if(contain==null){//mengecek apakah variable contain telah terisi ?
//dibawah ini membuat gerbong baru dengan nama variable contain
//coba lihat lagi ke class containers diatas
contain=new containers(nama,nim,setLokal);
}else{//bila contain sudah terisi
containers tmp=contain; //contain dimasukkan kedalam variable tmp
while(tmp.next!=null){/**pengecekan apakah pointer next yg ada di variable
* tmp tidak kosong. pengulangan ini digunakan
* untuk mencari variable next yang bernilai null
* agar dapat diciptakan gerbong baru
*/
tmp=tmp.next;//menambah value tmp denga tmo.next
}
tmp.next=new containers(nama, nim,setLokal);//setelah mendapatkan
}
}
public void tambahAwal(String nama,String nim,String setLokal){
if(contain==null){
contain=new containers(nama,nim,setLokal);
}else{
containers tmp=new containers(nama, nim, setLokal);
tmp.next=contain;
contain=tmp;
}
}
public void hapusAwal(){
/**
* method ini digunakan untuk menghapus gerbong yg berada pada posisi
* pertama atau awal.
*/
if(contain!=null){ //cek apakah contain tidak sama dengan null alis berisi
contain=contain.next; //mengisi variable contain dengan contain.next
}
else{
System.out.println("Data Kosong");//memeunculkan notifikasi "data kosong"
}
}
public void hapusAkhir(){
/**
* method ini digunakan untuk menghapus gerbong yg berada pada posisi
* akhir atau belakang.
*/
if(contain!=null){
if(contain.next!=null){
containers tmp=contain;/**memasukkan contain kedalam tmp untuk dilakukan proses
* penghapusan ,coba pahami ynag dibawah
*/
while(tmp.next.next!=null){//mencari gerbong yang berada pada posisi akhir
//empty=tmp;
tmp=tmp.next;//yg ini susah ngomong nya yang jelas ini buat penambahan next nya
}
tmp.next=null;//menghapus kelas yang terakhir
}else{
contain=null;/** menghapus gerbong yang terakhir kali bila gerbong
* yg lain sudah terhapus
*/
}
}else{ System.out.print("Data Kosong");//memeunculkan notifikasi "data kosong"
//apabila dilakukan penghapusan terus-menerus
}
}
public void print(){
containers tmp=contain;
while(tmp!=null){
System.out.print("Nama: "+tmp.nama+",NIM: "+tmp.nim+",Lokal: "+tmp.lokal+"\n");
tmp=tmp.next;
}
}
public static void main(String[] args) {
Linked_list s1=new Linked_list();
System.out.print(
"\n---------------------------------------------------\n"
+ "MENAMBAH DATA DI AKHIR"
+"\n---------------------------------------------------\n");
s1.tambahAkhir("Tama Arory R","11351104324","3A");
s1.tambahAkhir("Dante","11351104322","3F");
s1.tambahAkhir("Yugi","11351104320","3G");
s1.print();
System.out.print(
"\n---------------------------------------------------\n"
+ "MENAMBAH DATA DI AWAL"
+"\n---------------------------------------------------\n");
s1.tambahAwal("Fukuzawa","11351104327","3E");
s1.print();
System.out.print(
"\n---------------------------------------------------\n"
+"MENGHAPUS DATA DARI BELAKANG ATAU YANG AKHIR"
+"\n---------------------------------------------------\n");
s1.hapusAkhir();
s1.print();
System.out.print(
"\n---------------------------------------------------\n"
+"MENGHAPUS DATA DARI DEPAN ATAU DARI AWAL"
+"\n---------------------------------------------------\n");
s1.hapusAwal();
s1.print();
}
}
Demikianlah Artikel linked list java berkepala dan berekor struktur data
Sekian Posting linked list java berkepala dan berekor struktur data, mudah-mudahan bisa memberi manfaat untuk anda semua.
Belum ada tanggapan untuk "linked list java berkepala dan berekor struktur data"
Posting Komentar