MENGHAPUS NODE(Linked list)

 

MENGHAPUS NODE PADA BAGIAN HEAD LINKED LIST

1. Langkah pertama kita membuat kelas 'Node' yang digunakan untuk menyimpan data dan pointer untuk ke node bereikutnya. Didalam 'Node' tersebut berisi dua atribut yaitu 'data' unutk menyimpan dan 'next' untuk ke poiter selanjutnya.

2.Selanjutnya kita membuta kelas 'LinkedList' yang memiliki  atribut 'head' yang fungsinya digunakan untuk menyimpan pointer ke node head dari linked list.

3.Kemudian kita memiliki metode 'insert_at_head' unutk menambah node baru ke bagian head dari linked list. Metode ini membuat node baru dengan data yang diberikan , mengatur pointer 'next'  dari noed baru ke node head yang sekarang dan kemudian mengubah node head menjadi node baru.

4.Selanjutnya ada metode 'delete_head' untuk menghapus node head dari linked list. Metode ini hanya memeriksa apakah linked list kosong atau tidak, Jika kosong ,metode akan mencetak pesan 'error'. Jika tidak ,metode hanya memeriksa apakah node head saat ini adalah node head yang terakhir dari linked list. Jika ya maka node head akan diubah menjadi 'None'.Jika tidak, node akan diubah menjadi node berikutnya dari node head saat ini.

5.Terakhir ada metode '__str__' untuk mengubah objek 'LinkedList' menjadi srting yang dapat dicetak. Metode ini membuat list kosong, mengambil pointer ke node head, dan kemudian melakukan iterasi sampai node akhir dari linked list. Setiap data dari node yang ditemui akan disimpan ke dalam list. Setelah iterasi selesai,list akan dijadikan string dengan menggabungkan setiap elemen dengan tanda '<->'

6. Langkah penutupnya, kita tinggal memuat linked list.Pada gambar di atas terdapat tiga node yaitu data 1,2, dan 3.Kemudian kiat megnhapus node head dari linked list dengan menggunakan metode 'delete_head'.Setaip pemanggillan metode 'delete_head', kita mencetak linked list dengan metode '__str__'.

Ini adalah outputnya.Setelah menghapus node head sebanyak tiga kali,linked hanya memilki satu node dengan data 1. Jika kita mencoba menghapus node head lagi,metode 'delete_head' akan memriksa apakah linked lis kosong atau tidak. Jika kosong maka outputnya adalah 'Penghapusan Error; List kosong.'. Ini terjadi karena tidak ada lagi node head yang dapat dihapus sehingga terjadi error.




Hasil koding: https://colab.research.google.com/drive/15t4aFsHN2_U4AupQkROLJpwkW35QECAf?usp=sharing


Komentar

Postingan Populer