Memahami Konsep Double Linked List dalam Pemrograman C++
Double Linked List adalah salah satu struktur data yang fundamental dalam ilmu komputer dan pemrograman. Struktur data ini memberikan fleksibilitas tambahan dibandingkan single linked list karena setiap node memiliki dua pointer: satu menunjuk ke node berikutnya dan satu lagi menunjuk ke node sebelumnya. Dalam blog ini, kita akan membahas dasar-dasar double linked list, cara menambah elemen di depan, belakang, dan tengah, serta menghapus elemen dari depan, belakang, dan tengah.
Pengertian Double Linked List
Apa itu Double Linked List?
Double linked list adalah kumpulan node yang setiap node-nya terdiri dari tiga bagian: data, pointer ke node berikutnya, dan pointer ke node sebelumnya. Ini memungkinkan traversal (penjelajahan) dalam dua arah, baik maju maupun mundur.
Mengapa Double Linked List Penting?
Double linked list penting karena memungkinkan operasi yang lebih fleksibel dibandingkan single linked list. Dengan dua pointer, traversal dalam dua arah dimungkinkan, membuat operasi seperti penyisipan dan penghapusan node di tengah menjadi lebih efisien. Ini berguna dalam berbagai aplikasi pemrograman, termasuk implementasi deques (double-ended queues), undo-redo features, dan manajemen memori dinamis.
Program Double Linked List
Berikut adalah program double linked list yang saya buat sendiri, jadi saya akan mencoba menjelaskan secara maksimal agar teman-teman dapat memahaminya.
Pertama, yang harus dibuat adalah struct dari double linkedlist.
- Terdapat variabel `num` bertipe integer dan variabel `data` bertipe string.
- Terdapat variabel `prev` dan `next` bertipe pointer dari struct Node.
1. Deklarasi
Deklarasi dilakukan setelah penulisan struct dari Node.
head : adalah kepala / elemen pertama dari elemen linked list.
tail : adalah ekor / elemen terakhir dari elemen linked list.
current : digunakan pada fungsi seperti display, count, dan untuk transversing.
newNode : digunakan pada fungsi membuat node baru.
del : digunakan untuk membuat duplikat elemen yang akan dihapus.
before : digunakan pada fungsi delete.
2. Membuat Elemen Double Linked List
Hal pertama yang dilakukan setelah pendeklarasian dan penulisan struct linked list adalah membuat elemen dengan menggunakan method create.
3. Menambah Elemen di Depan
Setelah membuat node baru dengan menggunakan method create, kita anggap sturct linked list sudah terdapat elemen minimal 1. Setelah itu jika ingin menambah elemen dari depan atau sebelum head, kita bisa menggunakan method addFirst dibawah ini.
4. Menambah Elemen di Tengah
Selain menambah elemen di depan, kita juga bisa menambah elemen di tengah linkedlist.
Kita bisa menggunakan method addMid dibawah ini.
5. Menambah Elemen di Belakang
Selain menambah elemen di depan dan di tengah, kita juga bisa menambah elemen di belakang atau setelah tail. Jadi elemen yang kita tambahkan akan otomatis menjadi elemen terakhir pada linkedlist. Kita bisa menggunakan method addLast dibawah ini.
6. Menghapus Elemen di Depan
Untuk menghapus elemen depan, kita bisa menggunakan method deleteFirst dibawah ini.
7. Menghapus Elemen di Tengah
Untuk menghapus elemen di tengah, kita bisa menggunakan method deleteMiddle dibawah ini.
8. Menghapus Elemen di Akhir
Untuk menghapus elemen di akhir, kita bisa menggunakan method deleteLast dibawah ini.
9. Mengubah Isi Elemen
Untuk mengubah isi elemen, sama seperti add dan delete. Terdapat 3 metode yaitu changeFirst, changeMid, dan changeLast. Berikut ketiga metode change.
10. Display
Untuk menampilkan isi elemen linkedlist, kita bisa menggunakan tramsversing seperti berikut.
11. Count
Untuk menghitung berapa banyak elemen yang ada pada linkedlist, kita bisa menggunakan method count dibawah ini.
Demikian program single linked list dasar, semoga dapat mmebantu teman-teman yang sedang ingin mempelajari struktur data ini.
Tidak ada komentar:
Posting Komentar