LINKED LIST MELINGKAR Linked List melingkar (circular) adalah linked list linier biasa dimana pointer pada node terakhir diarahkan kembali ke node pertama. Jika menggunakan node kepala, maka dinamakan linked list melingkar berkepala (headed circular). Dalam hal ini node terakhir diarahkan kembali ke node kepala. Kepala INFO Dengan kondisi ini tidak ada node yang berisi pointer yang bernilai NULL. Proses pembacaan isi list tidak harus dari node awal tetapi bisa dari mana saja. Info pada node kepala dapat digunakan untuk menyimpan informasi lain, misalnya jumlah node pada linked list.
Jika pointer berikut (next) pada node kepala menunjuk ke node kepala. Contoh linked list melingkar yang memiliki 5 node: Kepala 5 50 55 60 65 70 Linked List Kosong : Jika pointer berikut (next) pada node kepala menunjuk ke node kepala. Kepala
Menyisipkan Node Sisip Node di Depan 4 5 50 55 60 65 Sisipnode(25) 25 Bantu 4 5 50 55 60 65 Kepala Sisipnode(25) NB 25 Hasil : Kepala 25 50 55 60 5 65
b. Sisip Node di Tengah 5 4 50 60 70 80 Sisipnode(65) 65 50 60 65 70 5 Bantu 5 4 50 60 70 80 Kepala Sisipnode(65) NB 65 Hasil : Kepala 50 60 65 70 5 80
c. Sisip Node di Akhir 90 4 5 50 60 70 80 Sisipnode(90) 50 60 70 80 5 Bantu 90 NB 4 5 50 60 70 80 Kepala Sisipnode(90) Hasil : Kepala 50 60 70 80 5 90
Menghapuskan Node Proses menghapus node pada linked list melingkar terjadi pada tiga tempat, yaitu masing-masing di kanan kepala, tengah dan belakang. Hapus Node di Depan Bantu Hapus 5 4 50 55 60 65 70 Kepala Hapusnode(50) Hasil : Kepala 55 60 65 70 4
b. Hapus Node di Tengah Menghapus node di tengah prosedurnya sama dengan menghapus node di tengah pada linked list linier biasa. c. Hapus Node di Akhir Bantu Hapus 4 5 50 55 60 65 70 Kepala Hapusnode(70) Hasil : Kepala 50 55 60 65 4
Mencetak Isi Linked List Cetak dari Depan Kepala Bantu 5 10 10 20 20 30 30 40 40 50 50 Hasil : 10 20 30 40 50 Tugas: Buatlah ilustrasi dan fungsi mencetak dari tengah (misal 30).