IF2030_Proc_09_VariasiListLinier_bgn2

S sembarang p sudah dialokasi fs menambahkan 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: dress P) /* I.S. Sembarang, P sudah dialokasi */ /* F.S. Menambahkan elemen ber-address P sebagai elemen pertama */ Menambahkan elemen ber sebagai elemen pertama { /* Kamus Lokal */ address last; /* Algoritma */ Algoritma if (ListEmpty(*L)) { Next(P) = P; } else /* L tidak kosong */ { last = First(*L); First( while (Next(last) != First(*L)) { last = Next(last); } /* Next(last) = First(L) ==> elemen terakhir */ Next(P) = First(*L); First( Next(last) = P; } First(*L) = P; } 11/02/11 IF2030/Sem. 1 2011-2012 39 Beberapa Primitif Beberapa Primitif void InsertLast (List * L, address P) /* I.S. Sembarang, P sudah dialokasi */ Sembarang sudah dialokasi /* F.S. P ditambahkan sebagai elemen terakhir yang baru */ { /* Kamus Lokal */ address last; /* Algoritma */ if (ListEmpty(*L)) { InsertFirst(L,P); } else { else last = First(*L); while (Next(last) != First(*L)) { last = Next(last); } /* Next(last) = First(L) */ Next(last) First(L) InsertAfter(L,P,last); } } 11/02/11 IF2030/Sem. 1 2011-2012 40 Beberapa Primitif void DeleteFirst (List * L, address * P) /* I.S. List 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 */ address last; /* Algoritma */ *P = First(*L); if (Next(First(*L)) == First(*L)) { /* satu elemen */ First(*L) = Nil; } else { last = First(*L); while (Next(last) != First(*L)) { last = Next(last); } /* Next(last) = First(L) */ First(*L) = Next(First(*L)); Next(last) = First(*L); } Next(*P) = Nil; } 11/02/11 IF2030/Sem. 1 2011-2012 41 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(...
View Full Document

Ask a homework question - tutors are online