May 9, 2013

Linked List Dengan Bahasa C

Kali ini saya coba untuk membuat contoh program linked list dengan Bahasa C. Sebelumnya, mari kita bedah sedikit, apa sih linked list itu? di laman en.wikipedia.org disebutkan sebagai berikut 
In computer science, a linked list is a data structure consisting of a group of nodes which together represent a sequence. Under the simplest form, each node is composed of a datum and a reference (in other words, a link) to the next node in the sequence; more complex variants add additional links. This structure allows for efficient insertion or removal of elements from any position in the sequence.
Nah, singkatnya, Linked list adalah struktur data yang terdiri sekumpulan node yang secara bersama-sama merepresentasikan sebuah urutan.

Node?? apa itu node?? Node adalah record yang terdiri dari satu atau lebih kolom yang menghubungkan ke node yang lain dan sebuah field untuk data (http://en.wikipedia.org/wiki/Node_%28computer_science%29)
Jenis dari linked list sendiri ada beberapa, yaitu:
  • Single linked list
  • Double linked list
  • Circular linked list

Single Linked List
Single linked list merupakan sekumpulan node, dimana masing-masing node memiliki field data dan kolom yang menunjuk ke node berikutnya.


Berikut adalah contoh program sederhana single linked list non circular


Hasilnya adalah sebagai berikut


Double Linked List
Double linked list merupakan sekumpulan node, dimana masing-masing node memiliki field data, kolom yang menunjuk ke node berikutnya, serta kolom yang menunjuk ke node sebelumnya.


Berikut adalah contoh program sederhana double linked list non circular

Hasilnya adalah sebagai berikut


Circular Linked List
Pada single linked list non circular, node terakhirnya menunjuk pada null, maka pada single linked list circurlar node terakhirnya akan menunjuk ke awal dari rangkaian linked list. Begitu juga pada Double linked list, dimana pada double linked list circular node awal akan menunjuk ke node akhir, sedangkan node akhir akan menunjuk ke node awal. Circular linked list sering disebut linked list tertutup, sedangkan non circular linked list sering disebut linear linked list.

Single Linked List Circular

Berikut adalah contoh program sederhana single linked list circular

Double Linked List Circular

Berikut adalah contoh program sederhana double linked list circular

NB : Hasil yang didapat adalah sama antara linked list non circular dengan linked list circular. Tidak ada perbedaan yang terlihat pada hasilnya.

NB : perhatikan penggunaan circular linked list, baik yang single maupun double, selesaikan terlebih dahulu rangkaian linked list sebelum membuatnya menjadi circular. Untuk memastikan apakah linked list sudah circular atau belum, tukarlah urutan perintah tampil_list() dengan buat_circular() lalu running kodenya. Jika hasil yang didapat adalah infinite loop, artinya linked list sudah circular.

Semoga pembahasan ini bisa berguna untuk pembaca semua :D

*** Hanya Sekedar Catatan ***
***      Biar Ga Lupa     ***

referensi:

Catatan Terkait:

4 comments: