Linked List
Ada beberapa algoritma linked list,
diantaranya: linked list biasa, doubkle ended linked list dan doubly
linked list. Berikut adalah contoh program menggunakan algoritma linked
list. Untuk double ended linked list dan doubly linked list akan dibahas
di kesempatan lain.
Linked List
Operasi:
- Penyisipan sebuah item di awal list.
- Penghapusan sebuah item di awal list.
- Menampilkan isi list
class Link
/** To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author informatika
*/
class Link
{
public int iData;
public double dData;
public Link next;
// ————————————————————-
public Link(int id, double dd)
{
iData = id;
dData = dd;
}
// ————————————————————-
public void tampilkanLink()
{
System.out.print(“{” + iData + “, ” + dData + “} “);
}
}
class LinkList
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author informatika
*/
class LinkList
{
private Link pertama;
// ————————————————————-
public LinkList()
{
pertama = null;
}
// ————————————————————-
public boolean kosong()
{
return (pertama==null);
}
// ————————————————————-
//======================================
//method sisipPertama()
//======================================
public void sisipPertama(int id, double dd)
{
Link linkBaru = new Link(id, dd);
linkBaru.next = pertama;
pertama = linkBaru;
}
// ———-akhir method sisipPertama() ——————–
//===========================================
//method hapusPertama()
//===========================================
public Link hapusPertama()
{
Link temp = pertama;
pertama = pertama.next;
return temp;
}
// ———akhir method hapusPertama() ———-
// =====================================
//Method tampilkanList()
//======================================
public void tampilkanList()
{
System.out.print(“List (pertama–>terakhir): “);
Link sekarang = pertama;
while(sekarang != null)
{
sekarang.tampilkanLink();
sekarang = sekarang.next;
}
System.out.println(“”);
}
// ———akhir method tampilkanList()————–
}
LinkListApp
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author informatika
*/
class LinkListApp
{
public static void main(String[] args)
{
LinkList listQ = new LinkList();
listQ.sisipPertama(22, 2.99);
listQ.sisipPertama(44, 4.99);
listQ.sisipPertama(66, 6.99);
listQ.sisipPertama(88, 8.99);
listQ.tampilkanList();
while( !listQ.kosong() )
{
Link linkQ = listQ.hapusPertama();
linkQ.tampilkanLink();
System.out.print(” terhapus”);
System.out.println(“”);
}
listQ.tampilkanList();
}
}
output program:
List (pertama–>terakhir): {88, 8.99} {66, 6.99} {44, 4.99} {22, 2.99}
{88, 8.99} terhapus
{66, 6.99} terhapus
{44, 4.99} terhapus
{22, 2.99} terhapus
List (pertama–>terakhir):
Kenapa list -nya kosong? karena telah kita hapus dengan method hapusPertama() menggunakan perulangan while selama list ada. cara pengecekannya adalah dengan memanggil method kosong(). jadi maksudnya selama list-nya belum kosong (masih ada) maka akan dilakukan proses penghapusan list menggunakan method hapusPertama()
0 komentar:
Posting Komentar
Please Give Your Feedback Or Message.
Thank You!!?