IF2030_Proc_09_VariasiListLinier_bgn2

1 2011 2012 29 beberapa primitif beberapa primitif

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: 29 Beberapa Primitif Beberapa Primitif void DeleteAfter (List * L, address * Pdel, address Prec) Del (List L, address Pdel, address Prec) /* I.S. List tidak kosong. Prec adalah anggota list */ /* F.S. Menghapus Next(Prec): */ /* Pdel adalah alamat elemen list yang dihapus */ { /* Kamus Lokal */ Kamus Lokal /* Algoritma */ *Pdel = Next(Prec); Next(Prec) = Next(Next(Prec)); Next(Next(Prec)); Prev(Next(Prec)) = Prec; Next(*Pdel) = Nil; Prev(*Pdel) = Nil; } 11/02/11 IF2030/Sem. 1 2011-2012 30 List Sirkuler List Sirkuler 11/02/11 IF2030/Sem. 1 2011-2012 31 List Sirkuler List Sirkuler Elemen pertama: First(L) Elemen terakhir: Last(L) = P; Next(P) = First(L) terakhir: Last(L) P; Next(P) First(L) List kosong: First(L) = Nil 11/02/11 IF2030/Sem. 1 2011-2012 32 Beberapa catatan Beberapa catatan • List dengan representasi ini sebenarnya tidak mempunyai “First” – First adalah “Current Pointer” • Representasi ini dipakai jika dilakukan proses terus menerus terhadap anggota list (misalnya dalam round robin services dalam round robin services pada sistem operasi) sistem operasi • Penambahan dan penghapusan pada elemen pertama akan berakibat harus melakukan traversal untuk mengubah Next dari elemen Last. 11/02/11 IF2030/Sem. 1 2011-2012 33 Bahasan Bahasan - 3 • Buatlah ADT list sirkuler + driver: ADT list sirkuler driver: – Penunjuk First – Representasi fisik: berkait dengan pointer fisik: berkait dengan pointer 11/02/11 IF2030/Sem. 1 2011-2012 34 Rep. Fisik dengan Pointer #define Nil NULL typedef int infotype; typedef struct tElmtlist *address; typedef struct tElmtlist { infotype info; address next; } ElmtList; /* Definisi list : */ /* List kosong : First(L) = Nil */ /* Setiap elemen dengan address P dapat diacu Info(P), Next(P) */ /* Elemen terakhir list : jika addressnya Last, maka Next(Last) = First */ typedef struct { address First; } List; /* Selektor */ #define Info(P) (P)->info #define Next(P) (P)->next #define First(L) ((L).First) 11/02/11 IF2030/S...
View Full Document

This document was uploaded on 03/15/2014 for the course IF 2030 at Institut Teknologi Bandung.

Ask a homework question - tutors are online