Uploaded by jurigcau2

P-4 Linked List Melingkar

advertisement
Struktur Data
Materi III
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
INFO
INFO
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.
Struktur Data
Materi III
Contoh linked list melingkar yang memiliki 5 node:
Kepala
5
55
50
60
65
70
 Linked List Kosong :
Jika pointer berikut (next) pada node kepala menunjuk ke node kepala.
Kepala
0
Struktur Data
Materi III
 Menyisipkan Node
a. Sisip Node di Depan
Bantu
4
5
55
50
60
65
Kepala
Sisipnode(25)
25
NB
Hasil :
Kepala
5
25
50
55
60
65
Struktur Data
Materi III
b. Sisip Node di Tengah
Bantu
4
5
50
60
70
80
65
70
Kepala
Sisipnode(65)
65
NB
Hasil :
Kepala
5
50
60
80
Struktur Data
Materi III
c. Sisip Node di Akhir
Bantu
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
Kepala
Hapusnode(50)
Hasil :
Kepala
4
55
60
65
70
70
Struktur Data
Materi III
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
Hapus
Bantu
5
4
50
55
60
65
Kepala
Hapusnode(70)
Hasil :
Kepala
4
50
55
60
65
70
Struktur Data
Materi III
 Mencetak Isi Linked List
a. Cetak dari Depan
Kepala
5
Bantu
10
20
30
40
50
Hasil :
10 20 30 40 50
Tugas: Buatlah ilustrasi dan fungsi mencetak dari tengah (misal 30).
Download