Menghapus Simpul dan Travelsal
Pengantar Penggunaan variabel statis(misalnya Larik) yang tidak begitu efisien dalam pemrograman yang membutuhkan jumlah data yang dinamis (berubah). Variabel Dinamis adalah salah satu solusi untuk melakukan efisiensi terhadap penggunaan memori, yaitu ketika data tidak dibutuhkan, maka data itu harus dihapus sekaligus membebaskan memori
A B C D E A B C D E A B C D E Del(Q) Del(Q) Q.Depan =2 Q.Belakang =5 Penghapusan terhadap elemen dalam Antrian, yang menggunakan variabel statis hanya melakukan perubahan terhadap nilai variabel depan, dengan demikian nilai dari Q[1] s/d Q[n] masih ada dalam memori
Menghapus (Dispose) Penghapusan simpul dapat dilakukan terhadap senarai berantai, dimana simpul-simpul yang dihapus adalah simpul yang berada di awal, di akhir maupun yang berada di tengah. Untuk menghapus simpul digunakan perintah DISPOSE(Var Pointer) Misalnya Dispose (bantu) Dispose (Akhir)
Menghapus Simpul Awal Awal P M K M A B I Simpul yg akan dihapus Hapus
Menghapus Simpul Awal Awal M K M A B I Hapus Simpul yg akan dihapus
Menghapus Simpul Awal Awal M K M A I If awal = nil Then List kosong Else Hapus =awal Awal = Hapus^.next Dispose(Hapus) Fi Hapus Hapus = awal awal = awal^.next Dispose(hapus)
Menghapus Simpul Akhir Awal Ctt : untuk bisa melakukan penghapusan simpul yang paling akhir, maka linked list harus memiliki paling sedikit 2 buah simpul P M K M A B I Hapus Bantu Bantu = awal Simpul yg akan dihapus While bantu^.next^.next<> nil do Bantu = bantu^.Next E-while Hapus = bantu^.next Dispose(hapus) Bantu^.next = nil
Menghapus Simpul Tengah Awal Ctt : untuk bisa harus memiliki paling sedikit 3 buah simpul 10 30 40 20 50 Hapus Read key (key=40) Bantu Bantu = awal While bantu^.next^.info<>key do Bantu = bantu^.Next E-while Simpul yg akan dihapus Hapus = bantu^.next Bantu^.next = hapus^.next Dispose(hapus)
Travelsal/mengunjungi simpul 1. Mencetak isi semua simpul Awal P M K M A B I Bantu Bantu = awal While bantu <> nil do Write Bantu^.info Bantu= bantu ^.next E-while
Travelsal/mengunjungi simpul 1. Mencetak isi semua simpul Awal P M K M A B I Bantu While bantu <> nil do Write Bantu^.info Bantu= bantu ^.next E-while
Travelsal/mengunjungi simpul 1. Mencetak isi semua simpul Awal P M K M A B I Bantu Bantu Bantu Bantu Bantu Bantu While bantu <> nil do Write Bantu^.info Bantu= bantu ^.next E-while
Travelsal/mengunjungi simpul 2. Mencari elemen dalam List Key= I Awal P M K M A B I Bantu Bantu Bantu Bantu Bantu Read key, Bantu = awal, temu = false While bantu <> nil and temu = false do If key = bantu^.info then temu = true fi Bantu= bantu ^.next E-while If temu then Data ditemukan Else Data tidak ditemukan fi
quiz Buat algoritma untuk mencari data terbesar dalam list awal 60 70 10 20 50 Buat algoritma untuk mencari data terbesar dalam list
Mencari rata-rata Bantu = awal While bantu <>nil do Total = total + Bantu^.info jumlah = jumlah + 1 bantu = bantu^.next E-while Rata = total/jumlah