Senin, 05 Januari 2009

Single Linked List dengan Java

Gambar berikut merupakan ilustrasi dari penerapan single linked list :



Single linked list atau biasa disebut linked list terdiri dari elemen-elemen individu, dimana masing-masing individu akan saling terhubung. Masing-masing elemen terdiri dari dua bagian, yaitu bagian data / informasi yang disimpan dan bagian lainnya sebagai penghubung dengan elemen selanjutnya.

Untuk mengakses elemen dalam linked list, dimulai dari instance head dan menggunakan instance nextNode dari elemen selanjutnya untuk berpindah dari elemen ke elemen berikutnya sampai elemen yang diminta dicapai. Dengan single linked list, list dapat dilintasi hanya satu arah dari head ke tail karena masing-masing elemen tidak terdapat link dengan elemen sebelumnya. Sehingga, apabila kita mulai dari head dan berpindah ke beberapa elemen dan berharap dapat mengakses elemen sebelumnya, kita harus mulai dari head.


Representasi simpul node
Model struktur dari linked list tersebut dalam Java adalah sebagai berikut:
public class Node {
private int data; /* integer data diisikan dalam node */
Node nextNode; /* node selanjutnya dalam list */

Node(){
this.data = 0;
this.nextNode = null;
}
public int setData(int n){
return this.data = n;
}
public int getData(){
return this.data;
}
}

Dalam hal ini, tipe Node berisi :
- Informasi berupa data, serta
- Instance dari class node bernama nextNode sebagai penghubung antara node satu dengan node selanjutnya.

Implementasi dari class Node dengan menggunakan class TestNode
class TestNode{
public static void main(String args[]) {
/* head points untuk node pertama dalam list */
Node head = new Node();
/* inisialisasi node pertama dalam list */
head.setData(5);
head.nextNode = new Node();
head.nextNode.setData(10);
/* null menandai akhir dari list */
head.nextNode.nextNode = null;

/* mencetak elemen list */
Node currNode = head;
while (currNode != null) {
System.out.print(currNode.getData());
System.out.print(", ");
currNode = currNode.nextNode;
}
}
}

Output :
5, 10,

5 komentar:

  1. jadi inget taun lalu
    pas dapet matkul
    struktur dara eh data :))

    BalasHapus
  2. @jonks : yes i do. thank you,..

    BalasHapus
  3. Alhamdulillah, terima kasih sharing ilmunya, mudah2 an bermanfaat buat saya dan juga mereka :)

    BalasHapus