Unggulan
- Dapatkan link
- X
- Aplikasi Lainnya
DOUBLY LINKED LIST
ABSTRAKSI TIPE DATA DOUBLY LINKED LIST
Dimulai
dengan pembuatan struct tnode. abstraksi tipe data singly linked list kini
ditmbah pointer prev selain next.
Untuk mendeklarasikan
beberapa node yang akan digunakan sebagai head, tail, node aktif (curr) dan
node sementara (node).
Sama
seperti pada pembuatan singly linked list, dalam pembuatan doubly linked list
ini, akan membuat sebuah perulangan sebanyak 5 kali untuk mengisikan nilai 0
sampai 4 ke dalam field x untuk masing-masing node
Secara
umum, kode yang dibuat hampir sama dengan pembuatan singly linked list. Hanya
bedanya, pada doubly linked list, pointer kiri dan kanan dihubungkan dengan
suatu node.
Pertama-tama, tentunya perlu diuji apakah head bernilai NULL yang artinya belum ada satu node pun yang tercipta. Apabila demikian, maka node yang dibuat akan menjadi head. Node aktif (curr) pun di set sesuai node yang dibuat. Dan sebagai konsekuensi dari doubly linked list, maka diatur pointer prev pada head menunjuk ke NULL. Bagaimana kalau head tidak NULL? Hal tersebut berarti telah dimiliki satu atau lebih node yang terhubungan secara double. Yang perlu dilakukan adalah membuat pointer next pada node aktif (curr) untuk menunjuk ke node yang baru saja dibuat. Dan tidak lupa, sebagai konsekuensi dari doubly linked list, juga dibuat pointer prev pada node yang baru saja dibuat untuk menunjuk kepada node aktif (curr). Setelah keduanya saling tahu kiri dan kanan masing-masing, sekarang memindahkan node aktif (curr) ke node yang baru saja dibuat.
Untuk
menguji keberhasilan doubly linked, awal list sampai akhir list akan dicetak
dengan deklarasi:
Dan karena apa yang dibentuk adalah doubly linked list, maka juga mencetak dari tail sampai head, dengan deklarasi:
Untuk membebaskan
memori teralokasi, dilakukan dengan pemanggilan fungsi free(). Kode
selengkapnya:
Operasi pada linked
list tidak hanya pembuatan dan pencetakan. Suatu saat, Anda mungkin perlu untuk
menghapus node yang terletak di tengah-tengah list. Atau bahkan Anda mungkin
perlu menyelipkan node di tengah-tengah node. Sama seperti halnya permainan
gandeng-menggandeng tangan tersebut, sangat mungkin apabila tiba- tiba ada
pemain baru yang ingin menyelipkan dirinya di tengah-tengah barisan.
- Dapatkan link
- X
- Aplikasi Lainnya
Postingan Populer
HAZOP - FIRE PROTECTION dalam K3
- Dapatkan link
- X
- Aplikasi Lainnya
Komentar
Posting Komentar