IF2030_Proc_09_VariasiListLinier_bgn2

S list l tidak kosong fs p adalah alamat elemen

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: ist L tidak kosong */ /* F.S. P adalah alamat elemen pertama list sebelum penghapusan */ /* Elemen list berkurang satu (mungkin menjadi kosong) */ /* First element yg baru adalah suksesor elemen pertama yang lama */ { /* Kamus Lokal */ /* Algoritma */ *P = First(*L); First(*L) = Next(First(*L)); Next(*P) = Nil; } 11/02/11 IF2030/Sem. 1 2011-2012 15 Beberapa primitif void DeleteLast (List * L, address * P) /* I.S. List tidak kosong */ /* F.S. P adalah alamat elemen terakhir list sebelum penghapusan */ /* Elemen list berkurang satu (mungkin menjadi kosong) */ /* Last element baru adalah predesesor elemen pertama yg lama, */ /* jika ada */ { /* Kamus Lokal */ address last, preclast; /* Algoritma */ last = First(*L); preclast = Nil; while (Next(last) != Last(*L)) { preclast = last; last = Next(last); } *P = last; if (preclast == Nil) { /* kasus satu elemen */ First(*L) = Last(*L); } else { Next(preclast) = Last(*L); } IF2030/Sem. 1 2011-2012 } 11/02/11 16 List dengan Double Pointer List dengan Double Pointer 11/02/11 IF2030/Sem. 1 2011-2012 17 List dengan Pointer Ganda List dengan Pointer Ganda Elemen pertama: First(L) Elemen terakhir: Last(L) = P; Next(P) = Nil List kosong: First(L) = Nil 11/02/11 IF2030/Sem. 1 2011-2012 18 List dengan Pointer Ganda, dicatat Last List dengan Pointer Ganda, dicatat Last Elemen pertama: First(L) Elemen terakhir: Last(L); Next(Last(L)) = Nil Nil List kosong: First(L) = Last (L) = Nil 11/02/11 IF2030/Sem. 1 2011-2012 19 Beberapa catatan Beberapa catatan • Dibutuhkan jika harus dilakukan banyak operasi terhadap elemen suksesor dan juga predesesor. – Dengan tersedianya alamat predesesor pada setiap elemen list, maka memorisasi Prec pada beberapa algoritma yang pernah ditulis dapat dihindari • Operasi dasar menjadi sangat “banyak” • Memori yang dibutuhkan membesar • Jika list lojik semacam ini direpresentasi secara kontigu dengan tabel maka sangat kontigu dengan tabel, maka sangat menguntungkan karena memorisasi Prev dan Next dilakukan dengan kalkulasi 11/02/11 IF2030/Sem. 1...
View Full Document

Ask a homework question - tutors are online