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 )







0 comments