Review Linked List
Review Linked List
Pada pembahasan kali ini, saya akan me-review sedikit tentang apa yang sudah dipelajari pada materi Linked List sejauh ini.
Review ini akan membahas tentang sedikit metode yang digunakan untuk membuat node, push node, dan menghapus node pada Single Linked List.
Membuat Node
Sebelum membuat metode untuk membuat node, terlebih dahulu kita siapkan node yang berupa struct data seperti gambar dibawah ini.
Pada bagian ini kita akan membutuhkan head dan tail sebagai acuan awal dan akhir pada saat kita membuat linked list dan next sebagai link atau koneksi yang menghubungkan node yang satu dengan node setelahnya.
Lalu dilanjutkan dengan metode CreateNode untuk me-reserve address memory dan menyisipkan value di dalam node tersebut. Perlu diperhatikan dalam kondisi ini masih akan mengembalikan data type berupa struct.
Terakhir adalah kita membuat metode untuk insert node, dimana metode CreateNode diatas akan menggabungkan penentuan head dan tail diawal dengan push (head maupun tail) yang akan dijelaskan berikutnya.
Push Node (Head / Tail)
Push Head
Push head adalah metode dimana kita menyisipkan memori yang telah berisi data pada bagian depan ikatan linked list yang telah kita buat dan mengubahnya menjadi head dalam linked list.
Pertama, kita akan membuat link antara head yang lama dengan node yang baru disisipkan di depan. Baru kemudian kita pindahkan posisi headnya ke node yang baru dibuat.
Push Tail
Push head adalah metode dimana kita menyisipkan memori yang telah berisi data pada bagian belakang ikatan linked list yang telah kita buat dan mengubahnya menjadi tail dalam linked list.
Pertama, kita akan membuat link antara tail yang lama dengan node yang baru disisipkan di belakang. Baru kemudian kita pindahkan posisi tailnya ke node yang baru dibuat.
Pop (Head / Tail)
Pop Head
Pop head merupakan metode untuk menghapus link beserta data yang berada paling depan serta membebaskan memori yang telah di reserve.
Pada pop head, pertama kita akan periksa apakah head yang sekarang memiliki value NULL atau tidak. Jika tidak NULL, maka kita akan menunjuk current kepada head, lalu kita memindahkan head yang ada ke node setelahnya, barulah kita akan melepas memori head yang lama.
Pop Tail
Pop tail merupakan metode untuk menghapus link beserta data yang berada paling belakang serta membebaskan memori yang telah di reserve.
Pertama yang kita lakukan adalah memeriksa apakah data yang ada tinggal satu (maka head, curr, dan tail akan menunjuk pada node yang sama). Jika data masih lebih dari satu, maka kita akan mencari node yang berada tepat sebelum tail. Dikarenakan ini adalah sebuah single linked list, maka untuk melakukan pencarian, perlu melakukan looping. Jika posisi curr telah menunjuk pada node sebelum tail, maka kita akan menghilangkan link ke tail yang lama, menghapusnya, dan memindahkan tail untuk menunjuk pada node yang sebelumnya.
Demikian untuk review kali ini... Semoga bermanfaat untuk menambah wawasan kita semua 😁
Comments
Post a Comment