Diktat_Prosedural_09_ADTRepresentasiListLinier

S p ditambahkan sebagai elemen terakhir yang baru

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: .S. Insert P sebagai elemen sesudah elemen beralamat Prec */ void InsertLast (List * L, address P); /* I.S. Sembarang, P sudah dialokasi */ /* F.S. P ditambahkan sebagai elemen terakhir yang baru */ /*** PENGHAPUSAN SEBUAH ELEMEN ***/ 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 */ void DeleteP (List * L, infotype X); /* I.S. Sembarang */ /* F.S. Jika ada elemen list beraddress P, dengan info(P)=X */ /* Maka P dihapus dari list dan di-dealokasi */ /* Jika tidak ada elemen list dengan info(P)=X, maka list tetap */ /* List mungkin menjadi kosong karena penghapusan */ 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 */ void DeleteAfter (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 */ /****************** PROSES SEMUA ELEMEN LIST ******************/ void Printinfo (List L); /* I.S. List mungkin kosong */ /* F.S. Jika list tidak kosong, */ /* Semua info yg disimpan pada elemen list diprint */ /* Jika list kosong, hanya menuliskan "list kosong" */ int NbElmt(List L); /* Mengirimkan banyaknya elemen list; mengirimkan 0 jika list kosong */ Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 3 Okt 2011 11 Draft Diktat Struktur Data Hanya untuk digunakan di lingkungan Sekolah Teknik Elektro dan Informatika ITB /*** Prekondisi untuk Max/Min/rata-rata : List tidak kosong ***/ infotype Max (List L); /* Mengirimkan nilai info(P) yang maksimum */ address AdrMax (List L); /* Mengirimkan address P, dengan info(P) yang bernilai maksimum */ infotype Min (List L); /* Mengirimkan nilai info(P) yang minimum */ address AdrMin (List L); /* Mengirimkan address P, dengan info(P) yang bernilai minimum */ infotype Average (List L); /* Mengirimkan nilai rata-rata info(P) */ /****************** PROSES TERHADAP LIST ******************/ void DeleteAll (List *L); /* Delete semua elemen list dan alamat elemen di-dealokasi */ void InversList (List *L); /* I.S. sembarang. */ /* F.S. elemen list dibalik : */ /* Elemen terakhir menjadi elemen pertama, dan seterusnya. */ /* Membalik elemen list, tanpa melakukan alokasi/dealokasi. */ List FInversList (List L); /* Mengirimkan list baru, hasil invers dari L */ /* dengan menyalin semua elemn list. Alokasi mungkin gagal. */ /* Jika alokasi gagal, hasilnya list kosong */ /* dan semua elemen yang terlanjur di-alokasi, harus didealokasi */ void CopyList (List* L1, List * L2); /* I.S. L1 sembarang. F.S. L2=L1 */ /* L1 dan L2 "menunjuk" kepada...
View Full Document

Ask a homework question - tutors are online