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
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.
Struktur Data Materi III
5 50 55 60 65 70
Kepala
0
Struktur Data Materi III
Menyisipkan Node
a. Sisip Node di Depan
Bantu
4
5 50 55 60 65
Kepala
Sisipnode(25)
25
NB
Hasil :
Kepala
5 25 50 55 60 65
Struktur Data Materi III
4
5 50 60 70 80
Kepala
Sisipnode(65) 65
NB
Hasil :
Kepala
5 50 60 65 70 80
Struktur Data Materi III
4
5 50 60 70 80 90
NB
Kepala
Sisipnode(90)
Hasil :
Kepala
5 50 60 70 80 90
Struktur Data Materi III
Menghapuskan Node
Proses menghapus node pada linked list melingkar terjadi pada tiga
tempat, yaitu masing-masing di kanan kepala, tengah dan belakang.
a. Hapus Node di Depan
Bantu Hapus
4
5 50 55 60 65 70
Kepala
Hapusnode(50)
Hasil :
Kepala
4 55 60 65 70
Struktur Data Materi III
5
4 50 55 60 65 70
Kepala
Hapusnode(70)
Hasil :
Kepala
4 50 55 60 65
Struktur Data Materi III
5 10 20 30 40 50
Hasil :
10 20 30 40 50
Tugas: Buatlah ilustrasi dan fungsi mencetak dari tengah (misal 30).