Double Linked List

By Emanuel Lienardi - 8:41 AM


Double Linked List


Adalah jenis linked list yang memiliki 2 pointer penunjuk yang juga bekerja sebagai pointer utama, yakni ke arah node sebelum (previous / prev) dan node (next).
Pointer pertama adalah pointer head, pointer ini menunjuk node pertama.
Pointer kedua adalah pointer tail, menunjuk node paling terakhir.
Dengan adanya 2 pointer itu, double linked list bisa lebih mudah digunakan dibanding single linked list. Juga lebih mudah untuk memasukkan data dan merapikannya.

Berikut gambar representasi dari double / doubly linked list




            Kita bisa mengetahui kosong atau tidaknya sebuah linked list dengan melihat isi dari pointer head-nya. Jika isi pointer head NULL, maka linked list tersebut masih kosong. Selain itu,  nilai pointer prev dari Head selalu NULL. Itu karena, Head merupakan data pertama. Itu juga berlaku di nilai pointer next-nya Tail, kosong. Karena Tail adalah node terakhir.

            Berikut beberapa operasi yang biasa digunakan. Operasi ini sama dengan yang digunakan di single linked list. 


1.      Push
Push adalah operasi untuk memasukkan data ke linked list. Ada 2 macam operasi push, yaitu pushDepan dan pushBelakang.
a.       pushDepan
Data yang paling baru dimasukkan akan berada di depan data lainnya.
Misal input 5, 3, 7, 9 : hasilnya jadi 9, 7, 3, 5

b.      pushBelakang
Data yang paling baru akan berada di belakang data lainnya.
Misal input 5, 3, 7, 9 : hasilnya jadi 5, 3, 7, 9

2.      Pop
Pop memiliki fungsi yang berkebalikan dari push. Pop digunakan untuk menghapus atau delete suatu data dari linked list tadi. Seperti Push, pop juga bisa dilakukan dari depan maupun belakang.
Berikut contoh code menggunakan bahasa Pemrograman C dengan library malloc.h

1.      Linked List

2.      pushDepan

3.      pushBelakang

4.      popDepan


5.      popBelakang


6.      viewAll ( untuk melihat semua data dari linked list diatas )

  • Share:

You Might Also Like

0 comments